【问题标题】:AngularJS: Binding textarea to object property - infdig errorAngularJS:将文本区域绑定到对象属性 - infdig 错误
【发布时间】:2015-06-27 02:25:47
【问题描述】:

我对 AngularJS 比较陌生,我认为由于 textarea 通过 ng-model 绑定,我的代码中存在 infdig 错误,但我不确定如何修复它。

文本区域具有我当前期望的值。阅读有关该主题的先前帖子,在 ng-repeat 中修改值时会出现 infdig 错误。但是,我不认为我在修改任何 ng-repeat 中的值。

控制器

app.controller('mainController', function($scope, $http, $location, fetchService){
    ...
    $scope.problemFocus = {};
    $scope.changeProblem = function(id) {
    $location.path('/problems')
    $http.get('/api/problems/' + id).success(function(data){
        $scope.problemFocus = data;
    });
}

HTML

<tbody>
    <tr ng-repeat="(key, value) in problemFocus">
        <td>{{key}}</td>
        <td><textarea class="problem-property-value" form="properties-edit" ng-model="[value]"></textarea></td>
    </tr>
</tbody>

我已尝试通过将 ng-model="[value]" 更改为 ng-binding="[value]" 来修复此错误,但这会导致文本区域为空。将其更改为 ng-model="problemFocus[value]",文本区域变为空,此外,在文本区域中键入时,将值添加为新列的键。

更新 我发现它应该是 ng-model="value" 而不是 ng-model="[value]"。这修复了 infdig 错误。

错误:[$rootScope:infdig] http://errors.angularjs.org/1.4.1/$rootScope/infdig?p0=10&p1=%5B%5B%7B%22ms…2%3A%5B%5B%22A%3A%22%2C%22B% 3A%22%2C%22C%3A%22%2C%22D%3A%22%5D%5D%7D%5D%5D

【问题讨论】:

  • 错误:[$rootScope:infdig]errors.angularjs.org/1.4.1/$rootScope/……2%3A%5B%5B%22A%3A%22%2C%22B%3A%22%2C%22C%3A%22% 2C%22D%3A%22%5D%5D%7D%5D%5D
  • @boolean_ring 请将错误添加为对您问题的编辑,而不是 cmets。

标签: javascript angularjs binding textarea angularjs-ng-repeat


【解决方案1】:

尝试修改在 ng-model 中访问值的方式,如下所示

<td><textarea class="problem-property-value" form="properties-edit" ng-model="problemFocus[value]"></textarea></td>

【讨论】:

  • 当我改变它时,错误就消失了。但是,textareas 变为空。
  • 输入时会发生什么?模型是否正确更新?
  • 当我在文本区域输入时,表格底部会添加一个新行,其值位于键列下方。编辑:添加的值不是输入
猜你喜欢
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 2018-11-16
  • 1970-01-01
  • 2017-08-19
  • 2018-07-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多