0

私のコードを表示するには、このリンクに従ってください

アイテムの配列を処理するディレクティブを作成しました (「開始日」と「終了日」のペアであるため、常に 2 つになります)。

後で使用するために配列項目を個別の値としてアクセスできるようにしたいので、このように配列項目を参照します

  vm.data = ['data a', 'data b'];
  vm.separateData = vm.data[0];
  vm.otherData = vm.data[1];

ディレクティブに双方向バインドを実装すると、vm.data[0]andvm.data[1]参照は更新されますが、vm.separateDataandは更新されvm.otherDataません。

これを機能させる方法はありますか、または配列項目に対応するためにアプリの残りの部分 (必要な場合) を再構築する必要がありますか?

私のフィドルリンク(上記と同じ)で、テキスト入力値を変更してみてください。私の意味がわかります。

4

1 に答える 1

1

vm.data[0] は文字列であるため、javascript のプリミティブ データ型であり、不変です。したがって、データ [0] への参照ではない、不変の文字列 'Data a' を vm.separateData にバインドします。

配列への参照を vm.separateData にコピーする場合は、文字列を他の JavaScript オブジェクトでラップしてみてください。

vm.data = [{"value":"Data a"}, {"value":"Data b"}]

そして、あなたは参照することができます

vm.separateData = vm.data[0];

経由で値にアクセスします

vm.separateData.value
于 2016-06-29T09:07:46.437 に答える