我一直在使用 AngularJS 中的服务在控制器之间共享数据。在一项特定的服务中,我还想公开一些功能来编辑共享对象。我在这里创建了一个简化的 JSFiddle:
http://jsfiddle.net/RichardBender/CQ6Z4/2/
angular.module('myApp', [])
.factory('myService', function() {
return {
mySharedObject:{
myText:'abc'
},
updateObject: function() {
console.log('function called');
console.log(this);
this.mySharedObject.myText = 'def';
}
};
})
我可以看到调用 updateObject() 时的“this”不是服务返回的对象文字。我意识到我可以简单地使该服务依赖于仅公开共享数据对象的另一个服务,但是有没有办法在不创建第二个服务的情况下这样做?
谢谢,理查德