首先定义服务(在这种情况下,它使用工厂模式):
.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;
})