這個問題同樣困擾我很久,網上的回答五花八門,全都不能解決;終于在網上找很久,看到某大神的解決辦法,整理作此分享;使用ui-router重新加載當前頁面的問題。(ui-router版本需要是0.2.14以上的)
用angular做項目,會碰到需要點擊菜單刷新當前頁面,加載當前頁面,但是同一個路由頁面點擊沒反應;
假設我們的路由頁面 app.toMenu ;
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" ui-sref="app.toMenu" ui-sref-opts="{reload:true}"> <!-- 網上普遍都說這樣刷新,但這個是整個頁面也同時都刷新了 -->
其實,reload除了可以傳遞布爾類型型參數,還可以傳string和object型參數,如果只是想刷新當前的路由頁面,而不去連帶刷新父路由,我們可以把reload的參數值設置為當前路由頁面標識。
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" ui-sref="app.toMenu" ui-sref-opts="{reload:'app.toMenu'}"> <!-- 這個方法刷新當前路由頁面 -->
另外也可以用$state.reload();
$state.reload()是加載整個頁面;
$state.reload('app.toMenu');加載當前頁面;
<a href="" ng-click=" rel="external nofollow" reloadCurPage()"> <!-- controller里面 $scope --> $scope.reloadCurPage = function(){ $state.reload('app.toMenu'); }
注:如果標識是變量的話
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" ui-sref="{{k.value}}" ui-sref-opts="{reload:'{{k.value}}'}">
以上這篇AngularJS中重新加載當前路由頁面的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com