javascript - AngularJS - 应用程序 Controller

标签 javascript angularjs

关于 this website我学会了像这样为 AngularJS 编写应用程序 Controller :

Codecademy 版本:

app.controller
(
    'PhotoController', 
    [
        '$scope', 'photos', '$routeParams', 
         function($scope, photos, $routeParams) 
         {   
             photos.success
             (
                 function(data) 
                 {     
                     $scope.detail = data[$routeParams.id];   
                 }
             ); 
         }
    ]
);

但是我发现也可以这样写:

我的版本:

app.controller
(
    'PhotoController', 

     function($scope, photos, $routeParams) 
     {   
         photos.success
         (
             function(data) 
             {     
                 $scope.detail = data[$routeParams.id];   
             }
         ); 
     }
);

两种代码都有效,但有什么区别?我应该使用 codecademy 的版本还是我的版本?为什么?我的版本更短,我看不出有什么缺点。

最佳答案

您的版本的问题是它不适用于缩小的代码。您将必须注释您的 Controller 和其他模块才能使其正常工作。 您的代码将正常工作,除非它没有被缩小,但在缩小时您的服务/ Controller 名称将被重命名并破坏您的应用程序。

更多信息请引用以下链接:https://docs.angularjs.org/guide/di

关于javascript - AngularJS - 应用程序 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31385090/

相关文章:

angularjs - Angular Bootstrap Type Ahead 与 typeahead 语法相关的问题

AngularJS 注入(inject)错误 - 未知提供程序 : modalMessagesProvider <- modalMessages

javascript - 如何在 Facebook 垂直分享按钮旁边插入横幅

javascript - document.write 样式 css javascript

javascript - 如何在 jest 的覆盖范围内忽略由 jest 生成的快照?

angularjs - 验证 textAngular 文本长度

javascript - 在 AngularJS 中,我可以仅在 View 中使用 ng-model 和 ng-bind 而无需使用 Controller 吗?

javascript - Angular 工厂方法不是函数(dataFactory.addContact 不是函数)

javascript - Jquery:获取表单的输入值

javascript - 从变量创建正则表达式的问题