current - angularjs route param



AngularJS:我如何獲得$ location.path到模板 (2)

AngularJS模板只能查看作用域中可用的內容,因此您需要以某種方式將$ location服務放在作用域中。 AngularJS應用程序中有一個範圍始終可用,名為$ rootScope,因此它可以用於您的用例。

你可以做的是使用模塊的run()方法在$ rootScope中公開$ location:

var myApp = angular.module('myApp', []).run(function($rootScope, $location) {
    $rootScope.location = $location;
});

這樣可以在所有模板中使用“位置”,以便稍後您可以在模板中執行此操作:

Current path: {{location.path()}}

https://src-bin.com

我需要來自模板中url的當前路徑($ location.path的內容)。 但不是通過控制器,因為我有很多控制器(我不想重複聲明$scope.currentUrl = $location.path; )。 感謝您的建議。


Answer #1

另一種方法是使用更具語義和通用性的ui-router ,然後在控制器中檢索當前狀態 ,並將其存儲在$scope

app.controller('MyCtrl', ['$scope', '$state', function MyCtrl($scope, $state) {
  $scope.state = $state.current.name;
  ...
}




angularjs