AngularJS--自定义服务的三种方式用法总结
来源:互联网 发布:知乎童谣事件始末 编辑:程序博客网 时间:2024/06/01 07:11
AngularJS 中可通过三种($provider,$factory,$service
)方式自定义服务,以下是不同的实现形式:
第一种factory工厂模式实现:
以其简洁的使用特色而流行于自定义服务行列
* 在处理返回数据的时候,可以返回字面量、数组、对象、复杂对象等等各种数据
* 极大的满足了我们项目的需要,所以使用较多,需要掌握!
html页面:
<div ng-controller="myCtrl"> <span ng-bind="value1"></span></div>
输出结果:
factory value
JS代码:
app.controller("myCtrl",["$scope","service1",function($scope,s1){ $scope.value1=s1;}])app.factroy("service1",function(){//模拟从后端获取数据 var _v="factory value";//返回数据 return _v;})
第二种service对象方式实现
以其规范的返回数据而流行与自定义服务行列
service方式,只能返回对象,在某些项目组中,为了规范服务返回的数据~也就是强制指定
必须返回对象数据,才能正常解析,避免了出现大量的各种格式的数据:由于返回数据的标准化而流行!
html页面:
<div ng-controller="myCtrl"> <span ng-bind="value2"></span></div>
输出结果:
service value
JS代码:
app.controller("myCtrl",["$scope","service2",function($scope,s2){ $scope.value2=s2.v;}])app.service("service2",function(){//模拟从后端获取数据 var _v="service value";//返回json对象 return {v:_v};})
第三种provider代理方式实现
要求处理的过程中必须通过this.$get()函数进行返回数据的处理
这种方式在Angular自己的内置服务和框架中使用较多,但是不推荐在项目开发中使用
因为操作的复杂性和代码的可读性无形中让开发人员掌握有一定的难度
html页面:
<div ng-controller="myCtrl"> <span ng-bind="value3"></span> </div>
输出结果:
provider value
JS代码:
app.provider("service3",function(){//通过this.$get()函数进行返回数据的处理 this.$get=function(){ return "provider value" }})
0 0
- AngularJS--自定义服务的三种方式用法总结
- angularJS的自定义服务-factory、service、value 三种方式实现的异同
- AngularJS的自定义服务
- AngularJS服务service用法总结
- AngularJS中自定义服务的常见方式及特点
- angularJS自定义服务的两种方法
- AngularJs基础——自定义服务的三种方法以及provider供应商
- AngularJs基础——自定义服务的三种方法以及provider供应商
- AngularJS 服务层的三种创建方式(provider,factory,service)
- angularjs自定义指令的用法
- angularJS中自定义服务的理解
- angularJS各种自定义服务的区别
- 简单的angularjs自定义服务事例
- angularJs自定义指令的三种绑定策略
- angularJS中ng-class指令的三种实现方式
- angularJS中ng-class指令的三种实现方式
- angularJs中ng-class的三种使用方式
- AngularJS ng依赖注入的三种方式
- python创建命令行地址簿程序
- 随便乱说
- WIN7 PHPSTORM 配置XDEBUG解决方法
- java的(PO,VO,TO,BO,DAO,POJO)解释
- Tensorflow实现Mnist的Tensorboard
- AngularJS--自定义服务的三种方式用法总结
- c#发送邮件(带抄送,密送,群发,附件)
- 二叉树的镜像
- Django 微信公众号对接开发demo
- Deep Learning-TensorFlow (14) CNN卷积神经网络_深度残差网络 ResNet
- 深入理解String与StringBuilder
- POJ 1721 CARDS (置换群)
- Sparksql语法,读json
- Corn Fields 状压DP