0

そのため、配列内の要素を独自の行に分離する ng-list で定義されたテキスト領域があります。

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

名前配列に追加するボタンがあり、テキストエリアにも表示したいです。

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

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

残念ながら、配列にさらに要素が追加されても、配列にまだ格納されている場合でも、テキストエリアは更新されません。とにかく私はそれを強制することができますか?$scope.$apply を使用してみましたが、うまくいきませんでした。エラーを示すプランカーを次に示します。 https://plnkr.co/edit/gaLtvWw3Odhfngrhkitf?p=preview

4

1 に答える 1

0

あなたはこれを見たいと思うかもしれません:

angularjsでテキストエリア値を取得できません

$scope.$apply を使用しても機能しません。テキストエリアはディレクティブであり、次のようになります。

AngularJS は、ディレクティブのスコープでその変数を探します。そこにないので、彼は $parent まで歩いて行きます。そこに変数が存在し、テキストがテキストエリアに挿入されます。テキストエリアのテキストを変更する場合、Angular は親の変数を変更しません。代わりに、ディレクティブのスコープに新しい変数を作成するため、元の変数は更新されません。

于 2016-09-01T15:59:43.770 に答える