我想知道我们是否可以使用工厂和控制器加载多个json文件。
我拉了classifieds.json和myWords.json。
我看到前者的内容,但后者的内容没有显示
这是我累积它的方式。我已经检查了myWords.json对json格式化程序的适当性,所以我肯定知道它没事。
我想,我在这里做错了。如果你能引导我朝着正确的方向前进,我将不胜感激。
答案 0 :(得分:1)
为了从多个来源获取数据,目前的方法是为每个数据源使用一种方法。
function getClassified() {
return $http.get('data/classified.json');
}
function getMyWords() {
return $http.get('data/myWords.json');
}
return {
getClassified : getClassified,
getMyWords : getMyWords
}
classifiedsFactory.getClassified().then(function(data) {
$scope.classified = data;
};
classifiedsFactory.getMyWords().then(function(data) {
$scope.myWords = data;
}
如果您想要聚集两个以上的来源,您可以在工厂中使用$ q服务:
function getAllData() {
var source1 = $http.get('source1.json');
var source2 = $http.get('source2.json');
...
...
return $q.all([source1, source2, ...]);
}
只有在收到所有数据并且您可以在控制器中获取数据后,才会解决此问题。
不要忘记在工厂函数依赖项中包含$ q
答案 1 :(得分:0)