2

2 つのドロップダウン ボックスがあります。最初のドロップダウンの ko 計算で 2 番目のドロップダウン ボックスにデータを入力します。私は 2 つのリストを持っています。1 つには、ドロップダウンで選択した項目の使用可能なすべての値が入力されています。右側のリストでは、ユーザーは ko 計算関数によって満たされた左側の値を選択できます。最初または 2 番目のドロップダウンで値が変更されるたびに、selectedItems 配列をクリアする必要があります (右側からリスト)、新しい値を持つ左側のリスト右側のリストに値を選択しようとしましたが、配列 seletedItems への選択ごとに ko 計算が呼び出されます (これは ko 計算で removeAll でクリアしました)、これがなぜなのかわかりませんが起こっています。どんな助けにも感謝します。

ありがとう、

4

1 に答える 1

0

序文: NikoPaolo del Mundoに同意します。コード スニペットを含めていただければ、より適切なサポートを提供できます。


そうは言っても、computed関数が予期せず再帰的に呼び出していることを示しました。

  • その場合は、Knockout VM コードを簡素化することをお勧めします。
  • リファクタリングし、手動サブスクリプションを優先します。

  • その表現力とパワーにもかかわらず、computed関数は扱いにくい場合があります。
  • 作成する数が多すぎると、いつ呼び出されるかを予測するのが難しくなる可能性があります。
  • データセットが十分に大きい場合、IE 8 以前では、過度に複雑な Knockout コードに、実行速度の遅いスクリプトの警告が表示されます。
于 2012-09-04T19:48:08.490 に答える