<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="AngularJS的Provider, Value, Constant, Service, Factory, Decorator的区别与详解" id="card1">
<p> 游客</p><p>
标题:AngularJS的Provider, Value, Constant, Service, Factory, Decorator的区别与详解<br/>
正文:<br/>
首先，provider, value, constant, service, factory他们都是provider！（decorator小朋友先搬个小板凳坐在边上等会儿，现在还没轮到你出场哈~）provider是干啥的？provider可以为应用提供通用的服务，形式可以是常量，也可以是对象。比如我们在controller里常用的$http就是AngularJS框架提供的provider～myApp.controller(‘MainController', function($scope, $http) {<br/>   $http.get(…)<br/>}在上面的代码里，就可以直接使用$http包好的各种功能了～provider那我们自己想定制一个provider，怎么写呢～//定义:<br/>$provide.provider('age', {<br/>    start: 10,<br/>    $get: function() {<br/>        return this.start + 2;<br/>    }<br/>});<br/>//或<br/>$provide.provider('age', function($filterProvider){<br/>    this.start = 10;<br/>    this.$get = function() {<br/>        return this.start + 2;<br/>    };<br/>});<br/>//调用:<br/>app.controller('MainCtrl', function($scope, age) {<br/>    $scope.age = age; //12<br/>});provider的基本原则就是通过实现$get方法来在应用中注入单例，使用的时候拿到的age就是$get执行后的结果。 上面例子中的两种定义方法都可以～factory大哥provider每次出场太繁琐了，<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1693&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1693&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1693&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1693&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1693&amp;Page=4">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1693">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1693">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>