0
我一直在AngularJS中使用服务来在控制器之间共享数据。在一个特定的服务中,我还想公开一些功能来编辑共享对象。我创建了一个简单的jsfiddle这里:在AngularJS服务中共享数据
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()是不是字面服务返回的对象。我意识到我可以简单地使这个服务依赖于另一个只公开共享数据对象的服务,但是有没有办法在不创建第二个服务的情况下这样做呢?
感谢, 理查德
非常感谢,完美的工作。我对“这个”还是有点朦胧,所以我很欣赏文章链接。 –
如果您发现“此”行为令人困惑,您可以考虑使用Coffeescript。他们引入了两个运算符( - >和=>),后者自动完成了joakimbl在上面做的事情。这样,你可以指望“this”被定义为在函数被定义的地方匹配“this”,而不是它被调用的地方。 –