Angular js注射液澄清

时间:2015-05-14 14:45:46

标签: angularjs

我是Angular JS的新手,我正在经历一些有棱角的JS教程。以下是控制器方法之一。在第一种情况下,$ scope作为数组字符串的一部分包含在内,但在第二种情况下,$ scope仅在函数中注入,但两者都可以正常工作。有什么区别,必须采用哪种方法?

 app.controller('myController', ['$scope', function ($scope) {
            $scope.message = "Test Success";
        }]);

        app.controller('myController', function ($scope) {
            $scope.message = "Test Success";
        });

3 个答案:

答案 0 :(得分:1)

第一种方法是推荐的做法,因此应用程序不会在(或如果)缩小时中断。
给这个读一下:https://scotch.io/tutorials/declaring-angularjs-modules-for-minification
和这个:https://docs.angularjs.org/tutorial/step_05(向下滚动到"关于缩小和#34的注释;)

答案 1 :(得分:1)

首选方法更可取,因为javascript函数参数的缩小也会缩小,依赖注入器无法正确识别服务。

答案 2 :(得分:1)

两种符号在角度上都是相同的。我个人更喜欢并推荐第一个。

即使上面的评论是正确的,缩小也会打破这个问题,仍有ngAnnotate专门为此构建:使用第二种表示法,它会在缩小时将其转换为数组符号