AngularJS 使用angular.factory创建服务
示例
首先定义服务(在这种情况下,它使用工厂模式):
.factory('dataService', function() {
var dataObject = {};
var service = {
//定义吸气方法
get data() {
return dataObject;
},
//定义setter方法
set data(value) {
dataObject = value || {};
}
};
// return the "service" object to expose the getter/setter
return service;
})现在,您可以使用该服务在控制器之间共享数据:
.controller('controllerOne', function(dataService) {
//创建对dataService的本地引用
this.dataService= dataService;
//创建一个要存储的对象
var someObject = {
name: 'SomeObject',
value: 1
};
//存储对象
this.dataService.data = someObject;
})
.controller('controllerTwo', function(dataService) {
//创建对dataService的本地引用
this.dataService= dataService;
//这将随着对共享数据对象的任何更改而自动更新
this.objectFromControllerOne= this.dataService.data;
})