Angular 控制器 - 注释
Angular Controllers - Annotations
刚刚看到了 2 个不同的演示,它们在代码上有所不同。
两种不同方法的原因是什么?
app.controller('AppCtrl', ['$scope', '$mdDialog', function($scope, $mdDialog){
//Code goes here
}]);
和
app.controller('AppCtrl', function($scope, $mdDialog){
//Code goes here
});
据我所知,第一个建议是在我要使用缩小的情况下..但是还有其他原因需要考虑吗?
第一个语法是缩小安全的。
如果你缩小第二个语法,你会得到你的控制器:
function(a,b){...};
然后你会得到错误。
请注意,您可以使用像 ng-annotate 这样的构建插件,它将您的代码从第二种语法转换为第一种语法,从而使您的代码 缩小安全。这就是为什么使用第二种语法更方便的原因。
两者都是使用依赖注入的方法,你可以阅读angular's documentation这方面的内容。
基本上,就你刚才提到的选项而言:
选项 1 - 内联数组注释 - 这里我们传递一个数组,其元素由字符串列表(依赖项的名称)组成,后跟本身发挥作用。
选项 2 - 隐式注释 - 你假设函数参数名称是依赖项的名称
选项 1 可以安全地缩小。
查看相关 post - Why implicit annotation are not safe to minify
刚刚看到了 2 个不同的演示,它们在代码上有所不同。 两种不同方法的原因是什么?
app.controller('AppCtrl', ['$scope', '$mdDialog', function($scope, $mdDialog){
//Code goes here
}]);
和
app.controller('AppCtrl', function($scope, $mdDialog){
//Code goes here
});
据我所知,第一个建议是在我要使用缩小的情况下..但是还有其他原因需要考虑吗?
第一个语法是缩小安全的。
如果你缩小第二个语法,你会得到你的控制器:
function(a,b){...};
然后你会得到错误。
请注意,您可以使用像 ng-annotate 这样的构建插件,它将您的代码从第二种语法转换为第一种语法,从而使您的代码 缩小安全。这就是为什么使用第二种语法更方便的原因。
两者都是使用依赖注入的方法,你可以阅读angular's documentation这方面的内容。
基本上,就你刚才提到的选项而言:
选项 1 - 内联数组注释 - 这里我们传递一个数组,其元素由字符串列表(依赖项的名称)组成,后跟本身发挥作用。
选项 2 - 隐式注释 - 你假设函数参数名称是依赖项的名称
选项 1 可以安全地缩小。 查看相关 post - Why implicit annotation are not safe to minify