如果我有这样的路线:
$routeProvider.when('/event/:id', { templateUrl: 'view/event-details.html', controller: 'EventDetailCtrl'});
有没有办法检查用户是否在/event/:id
路径
使用if ($location.path().indexOf('/event/') !== -1)
是否可以安全地检查用户是否在此路线上?
答案 0 :(得分:0)
当然有。您可以在控制器中使用console.log
或以其他方式使用模板URL中的ng-init
来调用任何函数。因此,如果模板被加载,那么它将调用该函数,因此您可以知道用户在该路径上:)
答案 1 :(得分:0)
我不确定完全明白你想要达到的目标。您的$routeProvider
会将您的传入请求转发给特定的controller
。它位于controller
内,您可以完全访问由$routeProvider
解析的令牌。
在控制器中声明$routeParams
以访问匹配路线的令牌。
$routeProvider
.when('/event/:id', { templateUrl: 'view/event-details.html', controller: 'EventDetailCtrl'});
在controller
:
.controller('EventDetailCtrl', function($scope, $routeParams) {
$scope.id = $routeParams.id;
})