2015-05-07 156 views
0

我有一個條件,如果在我的JavaScript如下:AngularJS重新初始化的對象

if($scope.cal){ 
    delete $scope.cal; 
    $scope.cal = new CalHeatMap(); 
    var datedata = $scope.attendance.dates; 

}else{ 
    $scope.cal = new CalHeatMap(); 
    var datedata = $scope.attendance.dates; 
} 

指幾個帖子之後,我意識到我們不能完全刪除對象。在我的場景中,我需要初始化一個新的熱圖並替換現有的熱圖。我如何在這種情況下得到解決?

也試過:

if($scope.cal){ 
    $scope.cal = {}; 
    $scope.cal = new CalHeatMap();... 
+0

您可能想要使用:https://github.com/shekhargulati/angular-cal-heatmap-directive –

回答

0

你不應該需要在$範圍刪除或空白的現有對象。只需定期分配就可以工作,無論屬性是否已定義。

$scope.cal = new CalHeatMap(); 

從我瞭解的$ scope中,子範圍不會看到變化。要解決這個問題,您需要更新$ scope上的對象而不是替換它。例如:

$scope.vm.cal = new CalHeatMap();