2016-08-23 73 views
0

考慮片段:如何查看動態生成的對象的所有屬性?

<div ng-app="myApp" ng-controller="myCtrl"> 

    <table> 
     <tr ng-repeat = "value in array" > 
      <td><input ng-model="formdata[value]" /></td> 
      <td>{{value}}</td> 
      <td>{{formdata[value]}}</td> 
      <td>{{data}}</td> 
     </tr> 
    </table> 

</div> 

<script> 
var app = angular.module('myApp', []); 
    app.controller('myCtrl', function($scope) { 


     $scope.array = [1, 2, 3, 4, 5]; 
     $scope.$watch("formdata", 
           function() { 
            // some code goes here  
           }, true 
     ); 
}); 
</script> 

如清楚地看到是動態生成的NG-模型的每一行。

formdata[1] 
formdata[2] 
formdata[3] 
formdata[4] 
formdata[5] 

現在我想要關注此對象(formdata)的所有屬性。我喜歡上面但手錶永遠不會被解僱。

請建議。

+1

有在此範圍內沒有FORMDATA,所以沒有什麼可看。 formdata是在由ng-repeat創建的子範圍內創建的。 –

+0

@JBNizet:完美的,當我在控制器中聲明$ scop.formdata = {}時;手錶被解僱了。如果您將該評論作爲答案,我會非常高興,因爲它真的是一個了不起的答案。 –

回答

1

您沒有在範圍中創建formdata,因此ng-repeat會在其自己的子範圍內創建它。因此,formdata不在您的範圍內,因此無法觀看。

我會在0而不是1開始,初始化範圍數組:

$scope.formdata = []; 
+0

您的評論/回答對我來說確實令人驚訝,因爲我認爲您看起來更多關於Java及相關技術。你給我的一個問題的最後一個答案是關於volatile關鍵字。簡單,有效的英語再次。非常感謝你.... –