zoukankan      html  css  js  c++  java
  • AngularJS开发指南14:依赖注入

    推荐两种使用场景:

    1、控制器中的依赖注入

    控制器是负责应用行为的类。推荐的控制器声明方法如下:

    var MyController = function(dep1, dep2) {
      ...
    }
    MyController.$inject = ['dep1', 'dep2'];
    
    MyController.prototype.aMethod = function() {
      ...
    }
    

      

    2、工场方法

    工场方法负责创建AngularJS中的大部分对象。比如指令,服务,过滤器。工厂方法一般在模块中使用,推荐的方法如下:

    angualar.module('myModule', []).
      config(['depProvider', function(depProvider){
        ...
      }]).
      factory('serviceId', ['depService', function(depService) {
        ...
      }]).
      directive('directiveName', ['depService', function(depService) {
        ...
      }]).
      filter('filterName', ['depService', function(depService) {
        ...
      }]).
      run(['depService', function(depService) {
        ...
      }]);
    

      

    3、其它

    依赖能在需要时被导入:

    function SomeClass(greeter) {
      this.greeter = greeter
    }
    
    SomeClass.prototype.doSomething = function(name) {
      this.greeter.greet(name);
    }
    

    AngularJS注入器使用示例:

    行内标记

    someModule.factory('greeter', ['$window', function(renamed$window) {
      ...;
    }]);
    

      若使用$inject会导致代码膨胀:

    var greeterFactory = function(renamed$window) {
      ...;
    };
    
    greeterFactory.$inject = ['$window'];
    
    someModule.factory('greeter', greeterFactory);
    

      

  • 相关阅读:
    ORA-02290: 违反检查约束条件
    上传图片
    dart视频教程
    'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
    .net js有数据 但是跳转不到操作页
    LAYUI layedit 富文本框内容的取值
    LAYUI select 下拉框得高度
    防止页面刷新
    Hadoop常用命令
    spark常用命令
  • 原文地址:https://www.cnblogs.com/jifeng/p/3481430.html
Copyright © 2011-2022 走看看