我找到了这样的get数据示例:
$http.get("/js/data/movies.json")
.then(function(results){
//Success
angular.copy(results.data, _movies); //this is the preferred; instead of $scope.movies = result.data
}, function(results){
//Error
})
这在请求完成时更新数据并且对服务器的请求延迟了一段时间,所以我用超时替换了$ http请求但它不起作用,没有数据更新。
setTimeout(function(){
angular.copy({text : 'test'}, _data);//it doesn't update my layout
}, 100);
答案 0 :(得分:2)
Angular不知道setTimeout中发生的更新。因此,您需要重新应用范围以通知Angular更改:
setTimeout(function(){
$scope.$apply(function(){
angular.copy({text : 'test'}, _data);
});
}, 100);
理想情况下,你应该使用Angular的$ timeout来摆脱那个$ scope。$ apply()
$timeout(function(){
angular.copy({text : 'test'}, _data);
},100);