我正在创建一个navBar指令,我想使用$ routeParams来确定要设置为活动的链接。我可以在控制器中访问$ routeParams而没有问题:
app.controller('MovieDetailsController', ['$scope', '$http', '$routeParams', function ($scope, $http, $routeParams) {
$scope.movie = {};
console.log($routeParams);
}]);
但是,我无法在我的指令中从$ routeParams获取任何数据:
app.directive('navBar', ['$routeParams', function ($routeParams) {
console.log($routeParams);
}]);
我做错了什么?
答案 0 :(得分:6)
似乎初始化指令时$ routeParams不可用。如果您使用下面的指令,就像在plunk中一样,它应该可以工作。
app.directive('myDir', ['$routeParams', function ($routeParams) {
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.bind('click', function() {
alert($routeParams.number);
});
}
}
}]);
答案 1 :(得分:2)
尝试使用ui路由器的$state.current.name
,它会为您提供当前的route