suchen

Heim  >  Fragen und Antworten  >  Hauptteil

angular.js - angularJS controller 第二个参数是什么意思?

 var app = angular.module('app',['ngPlugin']);
    app.controller('frontTourism',['$scope','$http','stModal','$timeout','ngSubmit','alert',function(){/*省略*/}])

'$scope','$http','stModal','$timeout','ngSubmit','alert' 这些有什么用?

滿天的星座滿天的星座2745 Tage vor573

Antworte allen(3)Ich werde antworten

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 17:06:50

    依赖注入的意思,我就说详细点吧。

    一个对象通常有三种方式可以获得对其依赖的控制权:
    (1) 在内部创建依赖;
    (2) 通过全局变量进行引用;
    (3)在需要的地方通过参数进行传递。
    Angular的依赖注入是通过第三种方式实现的。其余两种方式会带来各种问题,例如污染全局作用域,使隔离变得异常困难等。
    从功能上看,依赖注入会事先自动查找依赖关系,并将注入目标告知被依赖的资源,这样就可以在目标需要时立即将资源注入进去。

    Angular有3种注入方式:
    a、推断式注入
    app.controller('MyCtrl', function($scope) {
    });

    b、标注式注入
    var myFunc=function($scope) {
    });
    myFunc.$inject = ['$scope'];
    app.controller('MyCtrl',myFunc);

    c、内联注入
    app.controller('MyCtrl', ['$scope', function($scope) {
    }]);

    第1种是根据写的参数名称,如$scope,内部自己调用$inject把$scope进行依赖注入,如果在前端开发中使用压缩工具,就会把$scope变成另外的字母了,就无法进行推断了,而另外两种方式你可以把function($scope)改成function(a)都没关系;
    第2种要多写一行代码;
    一般推荐使用第3种。

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-05-15 17:06:50

    这些是用来注入的对象,只有注入这些对象,在下面的function中才能使用
    $scope 页面传值需要
    $http http请求需要

    。。。

    Antwort
    0
  • 为情所困

    为情所困2017-05-15 17:06:50

    模块注入,引入你需要用到的其他模块。
    比如$http就是一个模块

    Antwort
    0
  • StornierenAntwort