我有一个节点服务器,当我点击/scheduleE
路由时,它会向客户端发送csv文件。在我的控制器中,我点击此路线并更新范围。我希望页面上的范围更新。
app.controller('ETableCtrl', function($scope){
$scope.payments = []
$scope.$watch('payments', function(){
console.log('value changed!')
})
d3.csv('/scheduleE', processData('01/01/14'), function(payments){
$scope.payments = payments;
console.log($scope.payments);
})
})
在视图中$scope.payments
保持并且空数组和“值已更改!”一开始只记录一次。 $scope.watch("payments")
未在视图中更新。它仍然是一个空阵列。
但是,代码会将对象数组注销到控制台。为什么我的范围不会在视图中更新?
答案 0 :(得分:1)
回调发生在Angular应用程序范围之外。更新$ scope.payments后尝试调用$scope.$apply();
。
有更好的方法可以做到这一点,但您至少可以确认问题。