我可以使用ng-list对文本区域进行双向绑定吗?

时间:2018-06-29 20:02:44

标签: javascript angularjs

我已经看到了几个示例,其中用户可以将数据输入到<textarea>中并将其转换为数组。但是,如果我在内部修改数组,则更改不会反映在文本区域中。有没有办法使绑定成为双向?

示例:该按钮将项目添加到数组中,但它们不会显示在文本区域中。修改文本区域会覆盖所有内部更改。

var app = angular.module('app', []);
<html ng-app="app">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<textarea ng-init="list=['item1', 'item2']" ng-model="list" ng-list></textarea><br>
<button ng-click="list.push('newitem')">add</button>
<pre>{{ list | json }}</pre>
</html>

1 个答案:

答案 0 :(得分:0)

您需要更改引用listng-model不进行深度相等性检查。

尝试类似list = list.slice(0); list.push('newitem')

var app = angular.module('app', []);
<html ng-app="app">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<textarea ng-init="list=['item1', 'item2']" ng-model="list"></textarea><br>
<button ng-click="list = list.push('newitem')">add</button>
<pre>{{ list | json }}</pre>
</html>