您的位置:首页 > Web前端 > AngularJS

angular-如何实现注入依赖

2016-12-02 15:27 267 查看
js中没有反射的概念,那么angular是如何实现注入依赖的呢?


简单模拟一下~

var app = {
scope : function () {
this.name = 'lala';
},
controller : function (fn) {
str = fn.toString();
str = str.substring(str.indexOf( '(' )+1,str.indexOf( ')' )).replace(/\s/g,'');
var arr = str.split(',');

fn.apply(null, arr.map(function (item) {
return new app[item]();
}));
}
}

app.controller(function (scope ) {
console.log(scope.name);
})
}

/*
scope是一个类,
controller 是一个负责执行函数的函数,
首先将传入controller的参数,也就是fn函数转成字符串,
将传入fn的实参截取出来,去app里找到相应的类,
实例化后,再做参数传回给fn,并调用fn执行

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  angular 依赖注入