如何观察动态生成的对象的所有属性?

时间:2016-08-23 17:28:25

标签: angularjs

考虑一下代码段:

<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 个答案:

答案 0 :(得分:1)

您没有在范围内创建formdata,因此ng-repeat在其自己的子范围内创建它。因此,formdata不在您的范围内,因此无法观看。

我将从0开始而不是1,并在范围内初始化数组:

$scope.formdata = [];