2016-08-23 74 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关键字。简单,有效的英语再次。非常感谢你.... –