博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angularjs中的问题
阅读量:7225 次
发布时间:2019-06-29

本文共 674 字,大约阅读时间需要 2 分钟。

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'];

转载于:https://www.cnblogs.com/liangxin/p/6559495.html

你可能感兴趣的文章
core_framework —— 基于libev的轻量级lua网络开发框架
查看>>
回到顶部
查看>>
DES/3DES(TripleDES)加密、解密测试数据
查看>>
Maven项目标准目录结构
查看>>
Tomcat 系统架构与设计模式,第 1 部分: 工作原理
查看>>
Hadoop输出参数信息详解(16)
查看>>
ERROR 2002 (HY000): Can't connect to local MySQL错误
查看>>
Java版冒泡排序法
查看>>
关于FB4.6插件安装后默认语言环境的更改问题
查看>>
免费分区助手
查看>>
Javascript通过Name调用Function
查看>>
统计当前在线用户数量
查看>>
IntelliJ IDEA 乱码解决方案 (项目代码、控制台等)
查看>>
PHP项目记录
查看>>
.net面试题系列文章七(附答案)
查看>>
FastSocket
查看>>
ionic $ionicSlideBoxDelegate 滑动框事件
查看>>
点击文字,把input type="radio"也选中
查看>>
第一章 Java多线程技能
查看>>
Java 集合系列-第八篇-Map架构
查看>>