zoukankan      html  css  js  c++  java
  • angularjs中的问题

    1.依赖注入 

    原理:通过构造函数的参数名称来推断依赖服务名称的,通过toString来找到这个function对应的字符串,然后用正则匹配出其中的参数项(依赖项),再去依赖映射表中取出对应的依赖,实例化之后传入函数。

    原理的代码表示过程请参考:http://www.tuicool.com/articles/ymmq2mf 

    inject.register('el', animalBox);  //注册依赖名称和依赖项
    inject.register('ajax', httpRequest);
    render = inject.resolve(render);  //向函数添加依赖注入 injector
    render();

    问题:injector假设参数的名字就是依赖的名字,然后去查找依赖项,但是如果对代码进行了压缩,参数会被重命名,就无法查找到依赖项。

    所以使用下面两种方式注入依赖是安全的:

    数组注释法:

    myApp.controller('myCtrl', ['$scope', '$http', function($scope, $http){
        ...
    }]);
    显式 $inject,调用$inject属性,
    myApp.controller('myCtrl', myCtrl);
    function myCtrl = ($scope, $http){
        ...
    }
    myCtrl.$inject = ['$scope', '$http'];
  • 相关阅读:
    时间格式
    分页1
    vs2010 VS2008 VS2005 快捷键大全
    css 常用标签
    JS Array数组操作
    CSS属性
    jquery 选择器大全
    @fontface
    以前写过的ajax基础案例(王欢huanhuan)
    Jquery操作下拉框(DropDownList)的取值赋值实现代码(王欢)
  • 原文地址:https://www.cnblogs.com/liangxin/p/6559495.html
Copyright © 2011-2022 走看看