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