阵列是否必要?
app.controller('myController', ['$scope', function($scope){
}])
这会像上面的代码一样工作吗?
app.controller('myController', function($scope){
})
答案 0 :(得分:1)
是的,它会以同样的方式运作,它只是区别。你需要使用 explicit
依赖注入(第二种方式)。
即使你缩小它将$ scope转换为变量a和$ http转换为变量b,它们的身份仍然保留在字符串中。
答案 1 :(得分:1)
数组始终是必需的,但不必将其组合到控制器定义中。有一种更清洁的方法,这是我的首选方法。我所做的是以功能的方式创建控制器。例如:
app.controller('myController', MyController);
//dependency injection done here using the array of definitions
MyController.$inject = ['$scope'];
//all of the dependencies are added as parameters into the controller function
function MyController ($scope) {
//insert controller code
}
正如Sajeetharan的回答所指出的,这被称为显式方法。您应该查看Angular 1团队认可的this style guide,了解有助于使代码更清晰,更易于维护的其他模式