【发布时间】:2014-09-19 22:53:48
【问题描述】:
我正在处理一项琐碎的任务(我开始工作了),它向选项卡导航中的 dom 元素添加了一个 .active 类。简单的。关注https://stackoverflow.com/a/12306136/2068709 就可以了。
阅读提供的答案并将他们的控制器与 angular 网站上的示例控制器进行比较,我发现了一些我不太了解的有趣的东西。
在 AngularJS 网站上,$scope 和 $location(和其他服务)与定义控制器的匿名函数一起注入到控制器中。但就答案而言,服务不是注入,而是通过匿名函数传递。为什么这行得通?服务不应该一直注入吗?
举个例子:为什么会这样
angular.module('controllers', [])
.controller('NavigationController', ['$scope', '$location', function($scope, $location) {
$scope.isActive = function(route) {
return route === $location.path();
};
}])
还有这个
angular.module('controllers', [])
.controller('NavigationController', function($scope, $location) {
$scope.isActive = function(route) {
return route === $location.path();
};
})
两者都有效?
这可能是微不足道的,但它让我的大脑陷入了一个我无法弄清楚的循环。
【问题讨论】:
标签: javascript angularjs