<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<script src="angular.min.js" ></script>
<script type="text/javascript">
var m1 = angular.module('myApp', []); // 自定义服务 -- factory
// m1.factory('myService', function() {
// return {
// name : 'liuyi',
// age : 30,
// showName : function() {
// return this.name + '今年' + this.age + '岁了';
// }
// }; // }); // 自定义服务 provider
m1.provider('myService', function() {
return {
name : '刘二',
age : 40,
$get : function() {
return {
name : this.name,
age : this.age,
showName : function() {
return this.name + '今年' + this.age + '岁了';
} };
} };
}); // 自定义服务 -- 随机函数
// m1.factory('rndFn', function() { // return function( n1, n2 ) {
// return Math.random()*(n2 -n1) + n1;
// }
// }); // 改写配置参数
// m1.config( ['myServiceProvider', function(myServiceProvider) { // myServiceProvider.age = 100; // }] );
m1.config( ['randomFnProvider', function(randomFnProvider) { randomFnProvider.bInt = false; }] );
// 控制器
// m1.controller('firstController', ['$scope', 'rndFn', function($scope, rndFn) { // console.log( rndFn( 0, 5 ) );
// }]); m1.provider('randomFn', function() {
return {
bInt : false,
int : function( args ) {
if( args ) {
this.bInt = true;
} else {
this.bInt = false;
}
},
$get : function() {
var This = this;
return function( n1, n2 ) {
return This.bInt ? Math.floor(Math.random()*(n2 - n1) + n1) : Math.random()*(n2 - n1) + n1
};
} }; }); m1.controller('firstController', ['$scope', 'randomFn', function($scope, randomFn) { console.log( randomFn(0, 5) );
}]); </script>
</head>
<body ng-controller="firstController"> </body>
</html>

  

angularJs 自定义服务 provide 与 factory 的区别的更多相关文章

  1. 深究AngularJS——自定义服务详解(factory、service、provider)

    前言 3种创建自定义服务的方式.  Factory Service Provider 大家应该知道,AngularJS是后台人员在工作之余发明的,他主要应用了后台早就存在的分层思想.所以我们得了解下分 ...

  2. 【AngularJS中的自定义服务service VS factory VS provider】---它们的区别,你知道么?

    在介绍AngularJS自定义服务之前,我们先来了解一下AngularJS~ 学过HTML的人都知道,HTML是一门很好的伪静态文本展示设计的声明式语言,但是,要构建WEB应用的话它就显得乏力了. 而 ...

  3. angularjs 自定义服务的三种方式

    angularjs 中可通过三种($provider,$factory,$service)方式自定义服务,以下是不同的实现形式: // 定义module , module中注入$providevar ...

  4. angularjs 自定义服务(serive,factory,provder) 以及三者的区别

    1.Serive 服务:通过service方式创建自定义服务,相当于new的一个对象:var s = new myService();,只要把属性和方法添加到this上才可以在controller里调 ...

  5. angularJs自定义服务(实现签名和加密)

    写在前面: angularJS是google公司主推的js开发优秀框架... 页面展示: 在应用中进行加密是普遍存在的,个人建议在前端实现加密签名(前端加密是否必要来自知乎:http://www.zh ...

  6. angularJs自定义服务

    在AngularJS中,系统内置的服务都是以$开头,所以我们的自定义服务尽量避免以$开头.自定义服务的方式有如下几种: 使用Module的provider方法 使用Module的factory方法 使 ...

  7. angularJS自定义服务的几种方式

    在angularJS中定义服务共有四种常见的方式:factory,service,provider,constant,value 使用形式的不同: 1)factory以返回对象的形式定义服务: mya ...

  8. 自定义服务与调用--------factory

    自定义服务: angular.module('myApp').factory('UserService',['$http','$q',function ($http,$q) { // 定义一个方法工厂 ...

  9. angularjs 自定义服务

    <!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...

随机推荐

  1. DispatcherServlet默认配置

    DispatcherServlet的默认配置在DispatcherServlet.properties(和DispatcherServlet类在一个包下)中,而且是当Spring配置文件中没有指定配置 ...

  2. C++/C#中堆栈、对象内存模型、深浅拷贝、Array.Clone方法

    转载自:http://blog.csdn.net/jarvischu/article/details/6425534 目录 1.      C++/C#中对象内存模型................. ...

  3. 笔记7:winfrom的一些知识点(一)

    一.MDI窗体 private void 添加窗体ToolStripMenuItem_Click(object sender, EventArgs e) { Form2 frm1 = new Form ...

  4. 《JavaScript权威指南》读书笔记(三)

    日期:2015-12-05 浏览器location和history: replace不会显示历史,location会: history对象脚本不能真正访问,但支持三种方法:back().foward( ...

  5. 51nod 1613翻硬币

    题目链接:51nod 1613 翻硬币 知乎上的理论解法http://www.zhihu.com/question/26570175/answer/33312310 本题精髓在于奇偶性讨论. 若 n ...

  6. 探究linux文件

    一.Linux的文件: 文件名区分大小写:Linux没有文件拓展名:文件名支持长文件名,含空格,少部分标点符号. - _最好不要用空格 1 GUI图形用户界面:让简单的问题更加简单: CLI命令行界面 ...

  7. Extjs 视频教程

    ---恢复内容开始--- 网易云课堂 <尚学堂_Ext视频教程> login.html <html> <head> <meta http-equiv=&quo ...

  8. linux在shell date获取时间的相关操作

    获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用 ...

  9. Oracle select case when

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...

  10. 有关C#中使用if else和try catch的问题及效率问题

    本来if esle 是流程控制 try catch是异常处理,本身其实是没有可比性的,但是开发过程中有的人很容易混用,而且两者有的时候效果似乎一样,所以我还是用了个简单的测试来简单的比较下. 不多说, ...