這個問題同樣困擾我很久,網上的回答五花八門,全都不能解決;終于在網上找很久,看到某大神的解決辦法,整理作此分享;使用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中重新加載當前路由頁面的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答