factory service provide自定义服务
1.factory
factory , 就是你提供一个方法, 该方法返回一个对象的实例, 对于 AngularJS 的 factory 来说, 就是先定义一个对象, 给这个对象添加属性和方法, 然后返回这个对象, 例如:
var app = angular.module('MyApp', []);
app.factory('MyFactory', function() {// define result object of factory.var result = {};// add some property and method to the objectresult.greeting = 'Hello from factory.';// return the object;return result;
});
最后 controller 拿到的就是 result
对象:
m1.controller('Aaa',['$scope','myFactory',function($scope,myFactory){console.log( myFactory);//这里的myFactory就是result对象 }]);
2.service
service 通过 new
运算符进行实例化, 可以认为是一个类型, 只要把属性和方法添加到 this
对象上即可, 不用显式返回什么对象, 比如下面的代码:
app.service('MyService', function() {this.greeting = 'Hello from service'; });
controller 拿到的对象就是上面代码中 this
指向的对象,
m1.controller('Aaa',['$scope','myService,function($scope,myService){console.log(myService);//这里的myService就是上面this指向的对象,相当于var myService = new myService();
}]);
3.provider
与 factory 和 service 稍有不同的是, provider 必须提供一个 $get
方法, $get
方法和 factory 要求是一致的, 即: 先定义一个对象, 给这个对象添加属性和方法, 然后返回这个对象, 例如:
app.provider('MyProvider', function() {this.$get = function() {var result = {};result.greeting = 'Hello from provider';return result;} })
最后 controller 拿到的对象就是 provider 的 $get
方法返回的对象,
m1.provider('myRandomNum',function(){return {bolInt : false,int : function(argBol){if(argBol){this.bolInt = true;}else{this.bolInt = false;}},$get : function(){var This = this;return function(num1,num2){return This.bolInt ? Math.round(Math.random()*(num2 - num1)) + num1 : Math.random()*(num2 - num1) + num1;};}};});m1.config(['myRandomNumProvider',function(myRandomNumProvider){myRandomNumProvider.int(false);}]);m1.controller('Aaa',['$scope','myRandomNum',function($scope,myRandomNum){console.log( myRandomNum(-3,6) ); //这里的}]);
注意:
provider 的特殊之处就是可以在 module 启动时进行配置, 从而达到特殊的用途
m1.config(['myRandomNumProvider',function(myRandomNumProvider){myRandomNumProvider.int(false);}]);
参考:http://ju.outofmemory.cn/entry/121904
转载于:https://www.cnblogs.com/toodeep/p/4987777.html
factory service provide自定义服务相关推荐
- Linux service之自定义服务
前言 服务是应用程序存在的一种形式,静态的程序(即代码)运行成为进程运行于后台,从而执行规定的业务逻辑,对于后端程序而言通常是监听端口以处理来自客户端的请求.但这并非是一个服务,而只是一个运行于后台的 ...
- Android11(RK3568)自定义服务制作(2)-Service制作
上一篇介绍了如何在android中制作kernel驱动,并在驱动中留下了dev和sys两种接口供应用程序调用. Android11(RK3568)自定义服务制作(1)-Kernel驱动 一,驱动测试 ...
- Service 服务详解 及自定义服务模板
文章目录 1.服务简介 2.服务的生命周期 1) Service 的 启动 停止 2).服务的生命周期的方法 3.使用startService 启动后服务的生命周期 1).文件结构 2) activi ...
- 如何使用Create-React-App和自定义服务人员构建PWA
Note: This is not a primer on create-react-app or what a service worker is. This post assumes prior ...
- ajax 服务路由,Angular自定义服务路由
什么是跨域 不同域名之间进行数据访问,默认情况下是不允许的. 是谁导致了跨域 是浏览器导致了跨域,为了数据的安全. 怎样解决跨域 使用插件 JSONP Ajax和jsonp是同一个东西么 Ajax的核 ...
- linux之systemctl设置自定义服务
1 问题 在linux系统上设置自定义服务,或者让我的服务开机就运行起来,比如我们就以tomcat服务为例子 /usr/local/tomcat/bin/startup.sh 启动tomcat的脚本 ...
- 第6章 服务模式 Service Interface(服务接口)
Service Interface(服务接口) 上下文 您正在设计企业应用程序,并且需要能够通过网络使用其部分功能.此功能需要能够被各类系统使用,因此互操作性是设计的重要方面.除互操作性之外,可能还需 ...
- ROS 学习笔记(三):自定义服务数据srv+server+client 示例运行
ROS 学习笔记(三):自定义服务数据srv+Server+Client 示例运行 一.自定义服务数据: 1.向功能包添加自定义服务文件(AddTwoInts.srv) cd ~/catkin_ws/ ...
- 42.angularJS自定义服务
转自:https://www.cnblogs.com/best/tag/Angular/ 1. 你可以创建自定义服务,链接到你的模块中: 1 <!DOCTYPE html> 2 <h ...
最新文章
- 2016012017+小学四则运算练习软件项目报告
- android--系统jar包引用
- 【集合工具类:Collections】
- 如何从零学习Python----知乎答案
- 外媒:英特尔未来10年可能投资950亿美元在欧洲新建8家芯片厂
- PAT-乙级-1031. 查验身份证(15)
- 201903版的idea markdown无法预览的问题
- 数组元素的填充与替换、排序和复制
- 第二章 算法 (大话数据结构)
- 均衡器算法_必须像算法一样对算法进行仔细调整。 怎么样? 算法均衡器
- visio程序流程图绘制教程
- Unity第一视角流血受伤受攻击屏幕流血效果
- 自己搭建安卓app结合苹果CMS后台视频管理
- JDO与JPA哪个更好?
- RASNet视频目标跟踪论文笔记
- csgo删除机器人_《CSGO》补丁突然移除补位机器人 队友掉线只能4v5!
- Item 40: Use std::atomic for concurrency, volatile for special memory.
- C#实现数独解题及随机出题的思路及源码分享
- 可nbsp;爱nbsp;女nbsp;人
- 蓝桥杯单片机比赛学习:9、PCF8591的基本原理和使用方法
热门文章
- javascript中addEventListener与removeEventListener
- 一行代码实现数组降维去重排序
- python进阶07 MySQL
- 在两个不同域中的WINDOWS 2003活动目录做迁移笔记
- 5G时代的无线宽带新技术
- Map接口与学习系列(二)---LinkedHashMap
- SQL SERVER--单回话下的死锁
- Linux知识框架梳理
- Arduino入门笔记(6):温度传感器及感温杯实验
- 谈论 NOD32: 教育网超级 病毒更新服务器: http://222.197.166.33/main.htm