我有点困惑为什么fetch似乎没有正常工作以及为什么Angular的$ http.get在这种情况下有效。我的获取请求正在进行,我可以看到我正在创建我需要填充一些图像的数组。但它不会在我的HTML页面上填充任何内容。如果我在一点延迟后调用该函数两次,它似乎确实有效。如果我将其更改为$ http.get,它也可以。这是我的fetch代码:
$scope.getPhotos = (url) => {
fetch(url).then(response => {
return response.json();
}).then(json => {
$scope.photoArray = json.photos;
console.log($scope.photoArray);
}).catch(err => {
alert('Error');
});
}
答案 0 :(得分:3)
由于fetch
是异步操作,因此您应该在完成后触发摘要周期,以便使用更新的数据刷新视图。
您可以通过$scope.$apply()
方法完成此操作。
Angular http
方法会在引擎盖下自动触发摘要循环,因此在使用此方法时您不需要打扰它。