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