【问题标题】:Change model data on the fly in angularjs在 angularjs 中动态更改模型数据
【发布时间】:2014-04-14 21:54:38
【问题描述】:

我需要在 textarea 中显示一个 JSON 数组,但需要稍作修改。

位于 'list' 和 $scope.list 内的 JSON 数组绑定到一个 JSON 对象。

如何在 agnularjs 中即时将分隔符从逗号更改为 \n

http://jsfiddle.net/Pn5Xv/

列出json:

{
    "items" : [ { "outputs" : ["one","two"] } ]
}

html:

<div ng-repeat="record in list">
  <textarea ng-model="record.outputs"></textarea>
</div>

【问题讨论】:

  • 它是否出现在 textarea 中?你可以发布一个jsfiddle吗??
  • 已添加,jsfiddle.net/Pn5Xv

标签: angularjs filter dom-manipulation


【解决方案1】:

您可以为此任务创建custom filter

JavaScript:

myApp.filter('arrayToString', function() {
    return function(inputArray) {
        return inputArray.join("\n");
    };
});

在您的 HTML 中:

<div ng-repeat="record in list">
    <textarea>{{record.outputs | arrayToString}}</textarea>
</div>

注意事项:

  • 您不再使用ng-model,您需要自己跟踪更改并反转整个输入,ng-changeng-form 应该会有所帮助。
  • 确保您的过滤器是您应用的依赖项。

【讨论】:

  • ng-form 和 ng-change 需要 ng-model 并且没有它就无法工作。是否可以使用 与模型 ?
  • 谢谢,我已经找到解决方案了:
猜你喜欢
  • 1970-01-01
  • 2016-06-22
  • 1970-01-01
  • 2017-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-10
  • 2012-01-20
相关资源
最近更新 更多