我有一个看起来有点像这样的工厂:
app.factory('MyFactory',['$http',function($http){
return {
state: {
collectionOfThings: {}
},
getThings: function() {
$http.get(url).success(function(data) {
this.state.collectionOfThings = data;
});
}
};
}]);
它提供的是一种从Web服务获取内容的方法,我想将答案存储在state.collectionOfThings
中。但是,当调用$http
成功方法时,this
不再引用工厂并引用window
。我原本以为这是一件非常简单的事情,但我无法弄清楚。
如何使用$http.get
?
答案 0 :(得分:4)
app.factory('MyFactory',['$http',function($http){
var obj = {};
obj.state = {
collectionOfThings: {}
};
obj.getThings = function() {
$http.get(url).success(function(data) {
obj.state.collectionOfThings = data;
});
}
return obj;
}]);