我正在尝试从服务器获取数据并将它们分配给sharedScope工厂中的数组。接下来我想简单地将工厂注入我的两个独立控制器,并使用它们之间的双向数据绑定来操作同一个数组。
我想要实现的类似方法在这里有很好的描述: https://stackoverflow.com/a/24913983/5195524
已经分配了数据字段,一切正常。当我想首先从服务器获取数据时,问题就开始了。如何在控制器中立即提供数据?
答案 0 :(得分:1)
由于javascript变量范围,您的版本无效。您无需访问原型链,而是在成功函数中创建新变量。最简单的解决方法是:
app.factory("sharedScope", function($http) {
var self = this;
self.data = {};
init();
function init() {
$http.get('http://jsonplaceholder.typicode.com/posts').
success(function(response) {
self.data.text = response;
});
}
return self;
});
的工作原理