在ng-repeat中更改对象(键,值)中的值不起作用

时间:2015-08-05 06:31:26

标签: javascript angularjs

我有一个JSON对象,我使用ng-repeat在html中显示。但是当我对html中的值进行更改并尝试再次打印时,它不会反映在实际对象中。

这是我的html代码段:

        <tbody>
            <tr ng-repeat="(key,value) in object">
                <td>{{key}}</td>
                <td><input type="text" ng-model="value">{{value}}</input></td>
            </tr>
        </tbody>
        <a href="">
             <button ng-click="printer()" class="btn btn-md btn-primary">Submit</button>
        </a>

这是我的控制者:

MyService.getObject(objectName).then(function(response) {
        console.log(response);
        $scope.object = response;
    });

    $scope.printer = function() {
        console.log("inside printer function");
        console.log("object is ===" + JSON.stringify($scope.object));
    }

这里MyService有一个http get,它返回一个我分配给$scope.object的JSON对象。我可以毫无问题地查看对象,但是当我更改它并打印它时,我无法看到我所做的更改。 我的html中有一个Submit按钮,用于调用printer函数。更改页面中的值并单击“提交”后,我无法看到更改。

<td><input type="text" ng-model="value">{{value}}</input></td> 

^^这里我打印了文本字段旁边的值。我对文本字段所做的任何更改也会更改值,这意味着它可以正常工作。但它没有在$scope

中更新

1 个答案:

答案 0 :(得分:2)

我认为

<td><input type="text" ng-model="value">{{value}}</input></td> 

应该是:

 <td><input type="text" ng-model="object[key]">{{value}}</input></td> 

模型值不存在于您的控制器中。