angularjs 路由回退,返回到上一個路由


在現階段比較流行的angularjs框架中;路由是一個比較重要的應用;angularjs的單頁面是其強大功能之一;

所有的頁面其實就只是在一個頁面就實現的:angularjs通過對路由的控制來進行頁面的跳轉;

使用過angularjs的開發者都知道怎么使用ngRoute服務進行頁面控制;但是樓主在最近的開發之中;

遇到一個比較棘手的問題:原本app,js已經配置好的路由,每一個頁面在使用時對應自己所擁有的路由和控制器;然而有些頁面需要使用其他頁面的路由進行跳轉;

比如:在一個新聞網后台管理系統中建立站點的時候;需要為站點新建一個主頁面;第一次嘗試解決的方法是在app.js中配置路由;在原本站點路由下添加頁面新建路由;

問題是在使用angularjs中的ngroute服務回退的時候;頁面會直接跳轉到站點列表的路由而不是站點新建路由;此時樓主的解決方法改變:

首先增加一個按鈕:但是不刪除之前的回退按鈕;通過ng-show控制顯示其中一個按鈕;當新建頁面時是從其他路由跳轉而不是正常路由時:顯示新增回退按鈕;在控制器中對這個按鈕增加如下函數操作:

    $scope.cancel = function() {  
        //此處使用js原生方式回退  
        history.back();  
<span style="white-space:pre">    </span>//或者是另一種  

 

<span style="white-space:pre">    </span>//histroy.go(-1);  

 


而另一個回退按鈕則是使用angularjs中的$state.go("跳轉路徑");來實現 

其實$state.go("url"),這個方法多用於controller里面的地址跳轉,比如功能實現后,跳入某個界面。

文章來自:http://blog.csdn.net/licheng11403080324/article/details/50825236


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM