所以我有一个用ng-list定义的文本区域,它将数组中的元素分成它们自己的行。
<textarea data-ng-model="names" data-ng-list=" " data-ng-trim="false"></textarea>
我有一个按钮,它会在names数组中添加内容,我希望它也能显示在textarea中。
<button data-ng-click='addPlayer()'>Add</button>
$scope.addPlayer = function() {
$scope.names.push('HODOR' + n++);
}
不幸的是,当更多元素添加到数组时,textarea不会更新,即使它们仍然存储在数组中。无论如何,他是否可以强迫这种情况发生?我尝试使用$ scope。$ apply并且没有用。这是一个显示错误的plunker。 https://plnkr.co/edit/gaLtvWw3Odhfngrhkitf?p=preview
答案 0 :(得分:0)
您可能想看看这个:
Cannot get textarea value in angularjs
使用$ scope。$ apply不会工作,textarea是一个指令,并且:
AngularJS将在指令范围内查找该变量。它不存在,因此他走向$ parent。变量存在于那里,文本被插入到textarea中。更改textarea中的文本时,Angular不会更改父变量。相反,它在指令的范围内创建一个新变量,因此原始变量不会更新。