我有一个看起来有点像这样的工厂:
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
调用success方法时,this
不再指代工厂,而是指代window
. 我原以为这是一件很简单的事情,但我想不通。
如何使用 ? 的结果填充工厂中的字段$http.get
?