您当前的位置: 首页 > 学无止境 > JS经典实例 网站首页JS经典实例
构造angular控制器中匿名方法的形参及装饰器的使用
发布时间:2019-08-10 16:17:54编辑:雪饮阅读()
factory
使用factory可以构造angular控制器中匿名方法的形参
factory定义及控制器中调用如:
<script>
var app=angular.module('mod1',[]);
app.factory('test',function(){return 12;});
app.controller('cont1',function($scope,test){$scope.a=test;});
</script>
provider
使用provider可以构造angular控制器中匿名方法的形参
provider定义及控制器中调用如:
<script>
var app=angular.module('mod1',[]);
app.provider('test',function(){this.$get=function(){return 13;}});
app.controller('cont1',function($scope,test){$scope.a=test;});
</script>
service
使用service可以构造angular控制器中匿名方法的形参
service定义及控制器中调用如:
<script>
var app=angular.module('mod1',[]);
app.service('test',function(){this.a=17;});
app.controller('cont1',function($scope,test){$scope.a=test.a;});
</script>
constant
使用constant可以构造angular控制器中匿名方法的形参
constant定义及控制器中调用如:
<script>
var app=angular.module('mod1',[]);
app.constant('VERSION','1.5.6');
app.controller('cont1',function($scope,VERSION){$scope.a=VERSION;});
</script>
value
使用value可以构造angular控制器中匿名方法的形参
value定义及控制器中调用如:
<script>
var app=angular.module('mod1',[]);
app.value('VERSION','1.5.7');
app.controller('cont1',function($scope,VERSION){$scope.a=VERSION;});
</script>
decorator
使用decorator可对造angular控制器中匿名方法的形参接收之前先处理(装饰)下
示例如:
<script>
var app=angular.module('mod1',[]);
app.factory('test',function(){return {a:12,b:13}});
app.decorator('test',function($delegate){$delegate.a=15;return $delegate;});
app.controller('cont1',function($scope,test){$scope.a=test.a;});
</script>
解析:
定义了名为test的factory返回的是对象,且对象中有a属性值为12
而decorator则将名为test的factory返回的对象的a属性值修改为15后重新返回了。
则在控制器中形参test的对象的a属性值也会是15了。
注意:decorator不能对constant类型进行装饰
关键字词:angular,形参,装饰器,factory,provider,service,constant,value,decorator
上一篇:模块依赖
下一篇:控制器的父子关系及route