我需要模板中的url($ location.path的內容)中的當前路徑。但不通過控制器,因爲我有很多控制器(並且我不想複製$scope.currentUrl = $location.path;
的聲明)。感謝您的建議。
回答
AngularJS模板只能看到範圍內可用的內容,因此您需要以某種方式將$ location服務放在範圍中。 AngularJS應用程序中總有一個名爲$ rootScope的範圍,因此可以用於您的用例。
你可以做的是使用一個模塊的run()方法在$ rootScope暴露$位置:
var myApp = angular.module('myApp', []).run(function($rootScope, $location) {
$rootScope.location = $location;
});
這將使「位置」的所有模板可用,以便以後你可以做在您的模板:
Current path: {{location.path()}}
另一種方法是使用更多的語義和通用ui-router,然後在控制器,retrieve the current state,並將其存儲在$scope
:
app.controller('MyCtrl', ['$scope', '$state', function MyCtrl($scope, $state) {
$scope.state = $state.current.name;
...
}
爲什麼downvotes,如果我可能會問? – 2015-11-29 05:00:34
爲我工作得很好。 – 2016-01-28 07:53:12
我認爲downvotes可能是因爲即使OP使用ui-router(單獨這個問題幾乎沒有足夠的理由遷移),這將返回狀態名稱,這通常與URL的路徑完全不同(它也將包括任何動態PARAMS)。例如,在我的應用程序中,對於路徑:「/ graphs/56ce3/edit」,您的代碼將返回狀態的名稱「edit.graph」。用誇張和半截的話來說「不,看,這個解決方案是針對與我所擁有的問題不同的問題。」 :) – 0x24a537r9 2016-02-18 08:09:07
- 1. 獲得來自location.path特定值() - AngularJS
- 2. $ location.path()vs $ http.get() - AngularJS
- 3. AngularJs - $ location.path不工作
- 4. angularjs $ location.path('/ home')不重定向到查看
- 5. 獲取AngularJS模板綁定
- 6. AngularJS $ location.path循環回根
- 7. AngularJs location.path不傳遞參數
- 8. 如何獲得Mirth Connect的HL7模板?
- 9. 如何獲得的Kohana BASE_URL模板
- 10. 如何獲得widget值到任何WordPress模板的源代碼
- 11. 如何獲得我的mustache.js模板文件?
- 12. 我如何獲得所有樹枝模板從主繼承?
- 13. 我如何獲得這個Django模板來呈現?
- 14. Backbone.js在傳遞到模板之前如何獲得i18n值
- 15. 如何在我的模板中動態模型angularjs
- 16. AngularJS與模板
- 17. AngularJs模板URL
- 18. angularJs模板
- 19. 獲得Django的模板
- 20. 如何獲得基於使用AngularJs
- 21. 如何在AngularJS模板上啓用Javascript?
- 22. 如何結合AngularJS和Thymeleaf模板
- 23. AngularJS定製指令$ location.path不工作
- 24. AngularJs:$ location.path無法正常工作
- 25. ASP.NET MVC - AngularJS $ location.path()路由不正確
- 26. angularjs正常導航而不是$ location.path
- 27. Angularjs - $ location.path在URL中使用斜線
- 28. 如何使用AngularJS從遠程URL獲取模板
- 29. 如何從ngrx商店中獲取值到我的模板中?
- 30. AngularJS模板VS templateURL
在一個具有自己範圍的指令模板中,您需要使用'當前路徑:{{$ parent.location.path()}}' – benweet 2014-01-30 22:36:07
使用'{{$ root.location。因爲具有隔離作用域的任何指令都不能通過簡寫方法訪問它,並且'$ parent.location'是不可靠的,這取決於你的作用域深度。 '$ root'總是有效的。 – 2016-09-27 16:41:17