Angular(服务、存储机制)
服务
1.provider
- 最大的服务,可以配置
- 特点
- (1)moren provider 会被自动实例化
- (2)在控制器中使用会调用$get
- (3)后续操作写在$get之后
<div ng-controller="twoCtrl"></div> <script> var app=angular.module('appModule',[]); app.config(function (CalcProvider) { //CalcProvider 是Calc声明的函数的实例 就是下边的this CalcProvider.currency='RMB'; //会等provider创建好实例后才能配置 }); //localStorage app.provider('Calc',function () { this.currency='$'; this.$get=function () { //构造函数 this在哪个函数中就是哪个函数的实例 return { //返回一个对象,用来公用的对象 '+':(a, b) =>{ return this.currency+(a+b) } } } }); app.controller('oneCtrl',function ($scope,Calc) { console.log(Calc['+'](1,2)) });
- 2.factory
- 不支持配置(配置在factory之前就完成了)
- 基于provider的
- 参数2处的函数是provider中$get所对应的
- return之后
<div ng-controller="oneCtrl"></div>
app.factory('Calc',function () {
//后面的函数是provider中$get方法对应的
this.currency='RMB';
return {
'+':(a, b) =>{
return this.currency+(a+b)
}
}
});
app.controller(