我是新的angularjs和我想獲得當前狀態的網址,但當我使用$location.path()
函數它給我最後一個狀態,我點擊它,例如在這個我做時,我點擊儀表板,首先我得到空字符串後,我點擊帳戶,並在我點擊儀表板後,它給我的帳戶的名稱網址(/view1)
而不是(/view2)
爲什麼發生這種情況? 這是我plunker http://plnkr.co/edit/EHkgk0x48JsrNeX2FqgG?p=preview
回答
您的reloading()
函數在您點擊按鈕的url上處理。只有在它進入下一頁之後。所以它不會寫下一頁的位置。
說,例如:
你點擊控制面板,它記錄空字符串。
您點擊帳戶,它不會執行任何操作,因爲未指定點擊處理程序。
現在,您目前的網址是/view1
當你點擊控制面板,該reloading
函數被調用,它記錄了當前的URL,這是/view1
,然後導航到新的URL /view2
。
P.S:試試這個:
點擊儀表板,它會記錄空字符串。 現在,您當前的網址在/view2
再次點擊儀表板,它會記錄/view2
出現這種情況是因爲你之前的實際路由改變調用內部ng-click
reloading
功能。
更改您的控制器,如:
app.controller('MainCtrl', ['$scope', '$location', function($scope, $location){
// Fired when the transition begins.
$scope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams){
console.log("State changed: " + $location.path())
})
// Fired on click:
$scope.reloading = function(){
console.log("On click: " + $location.path())
}
}]);
並在控制檯中觀察輸出 - 我想你會得到更好的理解發生了什麼這樣的。
但是當我調用重裝函數時在/ view2狀態我不明白爲什麼?你能解釋更多嗎? – 2015-03-02 07:55:15
我不知道我理解你。我其實只是回答你的問題。 – PrimosK 2015-03-02 07:59:45
感謝您的解決方案:) – 2015-03-02 08:25:42
- 1. $ location.path(/一些/路徑)怪異的行爲
- 2. AngularJs:相對路徑不重定向$ location.path
- 3. 設置通過$ location.path在UI路由器的路徑()$ state.current
- 4. 更改路徑大小而不更改以前的路徑
- 5. 更改路徑顏色不改變以前的路徑
- 6. NG單擊不設置$ location.path()時,路徑是動態的
- 7. $ location.path沒有被重定向到指定的路徑
- 8. $ location.path(路徑)與ngNewRouter Angularjs 1.4.4不一致工作
- 9. 我可以使用js ajax調用的路徑路徑嗎?
- 10. PATH路徑前綴
- 11. angularjs越來越以前的路線路徑
- 12. functions.php中的當前路徑
- 13. 角2 - 我怎樣才能讓我的電流路徑
- 14. 的Python:絕對路徑相對讓到另一條路徑
- 15. 回形針+ AWS S3,使用我的本地路徑前綴固定路徑
- 16. 我們可以讓Spoon的輸出跟原來的目錄路徑相同嗎?
- 17. 獲取文件以添加以前忽略的路徑
- 18. 爲什麼即使路徑包含@之前的路徑,路徑也能工作「\\」
- 19. WCF ServiceRoute路由前綴是否可以包含路徑值?
- 20. 當使用Angular $ location.path時,無法調用未定義的方法「路徑」
- 21. 如何讓jQuery的JSON的URL路徑
- 22. 路由測試 - Location.path()總是返回空「」
- 23. $ location.path()路由使用參數不工作
- 24. ASP.NET MVC - AngularJS $ location.path()路由不正確
- 25. 獲取當前路徑/路徑傳遞_internal路線
- 26. 我可以強調一個URL路徑
- 27. 不能讓我的頭圍繞此的WebPack路徑錯誤
- 28. 如何讓我的BASH腳本知道保存的路徑
- 29. 如何讓Cocos2D可以搜索特定路徑中的資源?
- 30. Java獲取當前路徑
你爲什麼沒有在這裏發佈你的代碼? – Satpal 2015-03-02 07:48:11
爲什麼我最貼在這裏? – 2015-03-02 07:58:41
尋求調試的問題有助於__(「爲什麼這個代碼不工作?」)__必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現__it所需的最短代碼.__沒有明確問題陳述的問題對其他讀者沒有用處。請參閱:[如何創建一個最小,完整和可驗證的示例。](http://stackoverflow.com/help/mcve) – Satpal 2015-03-02 08:11:16