第二眼——AngularJS方法扩展之依赖注入
依赖注入 DI(Dependency Injection)依赖注入主要是将一个功能注入到另一个不想跟的模块里面去, 让这个功能变成这个模块的一部分,叫做依赖注入,类似在一个功能模块中调用另一个模块(模块化) 只是模块化是在一个调用的里面去主动引入和查找另一个被调用的模块,而依赖注入是被调用者主动声明,并将自己注入到调用者内部 AngularJS的依赖注入主要是将一些功能或者值注入到控制器中,这是实现AngularJS方法扩展的主要方式之一 模块化与依赖注入的异同:
在什么地方使用依赖注入?
AngularJS的依赖注入的方式
var app = angular.module('app',[])
//可以是值或函数 app.value('MyValue','Hello world'); app.value('MyFunc',function() { return 'Samuel say hello to you!' }); app.controller('mycontroller',function($scope,MyValue,MyFunc) { console.log( MyValue ); MyFunc(); });
app.constant('MyName','Samuel');//以第一次的赋值为主 app.constant('MyName','Sammuueell'); app.constroller('mycontroller',function( $scope,MyName ) { console.log( MyName );//Samuel });
app.factory('MyFactory',function() { return { showName: function() { console.log( 'Samuel' ) },showAge: function() { console.log( 25 ) } } }); app.controller('mycontrollre',MyFactory ) { MyFactory.showName(); MyFactory.showAge(); });
app.service('MyService',function() { this.setService = functioin() { } }); app.controller('mycontroller',MyService ) { console.log( MyService ); }); PS:与工厂模式的区别:.service相当于在底层直接通过new操作符创建了一个实例,而工厂模式需要通过返回对象的方式来调用以上就是通过依赖注入给AngularJS进行扩展的基本方式,嚯嚯嚯~ 那几眼哪儿去了? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |