0

所以我有一个用 ng-list 定义的文本区域,它将数组中的元素分成自己的行。

  <textarea data-ng-model="names" data-ng-list="&#10;" data-ng-trim="false"></textarea>

我有一个按钮,可以将内容添加到名称数组中,并且我希望它也显示在 textarea 中。

<button data-ng-click='addPlayer()'>Add</button>

$scope.addPlayer = function() {
  $scope.names.push('HODOR' + n++);
}

不幸的是,当更多元素添加到数组中时,文本区域不会更新,即使它们仍然存储在数组中。他们无论如何我可以强迫这种情况发生吗?我尝试使用 $scope.$apply 并没有奏效。这是一个显示错误的plunker。 https://plnkr.co/edit/gaLtvWw3Odhfngrhkitf?p=preview

4

1 回答 1

0

你可能想看看这个:

无法在angularjs中获取textarea值

使用 $scope.$apply 不起作用,textarea 是一个指令,并且:

AngularJS 会在指令的范围内寻找那个变量。它不在那里,因此他走到 $parent 那里。变量在那里,文本被插入到 textarea 中。当更改文本区域中的文本时,Angular 不会更改父变量。相反,它会在指令的范围内创建一个新变量,因此不会更新原始变量。

于 2016-09-01T15:59:43.770 回答