0
當我點擊/scheduleE
路由時,我有一個節點服務器向客戶端發送一個csv文件。在我的控制器中,我點擊了這條路線並更新了範圍。我希望頁面上的作用域更新。加載csv文件與d3後範圍不更新
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")
在視圖中不更新。它仍然是一個空陣列。
但是,代碼將對象數組註銷到控制檯。爲什麼我的示波器不能在視圖中更新?
作品!我已經嘗試了'$ scope。$ broadcast()'和$ scope。$ emit(),但$ apply()是正確的一個 – 2014-08-31 05:44:45
更一般地說,任何時候某些東西在d3回調中運行(屬性計算函數,.on )回調等),並觸及Angular範圍,你會想把它包裝在$ scope中。$ apply(function(s){在範圍的'這裏做東西')。 – 2014-09-01 07:46:20