1

アプリケーションでノックアウト js プラグインを使用しています。観測可能に問題があります。Example Fiddleを作成しました。このフィドルでは、新しいメニューが追加されるたびMenusに動的に作成して生成しています。Menu sequenceユーザーは、最初のメニューを除く既存のメニューを削除できます。

ユーザーが既存のメニューを削除すると、問題が発生します。削除時に、削除機能でシーケンス番号を更新していますが、シーケンス番号が更新されていないためです。誰でも何が問題なのか教えてもらえますか?

4

2 に答える 2

1

解決策:フィドル

変更:

newMenuVM.Sequence = ko.observable(self.menus().length+1);

self.menus()[i].Sequence(i+1);

削除:

self.courseOptions.push(newMenuVM);

理由:

フィドルを実行すると、「オブジェクト#のプロパティ'シーケンス'は関数ではありません」というエラーが表示されます。

このプロパティを検索すると、次のように表示されます。

newMenuVM.Sequence = self.menus().length+1;

そこで、ko.observable関数を追加します。

于 2012-10-19T05:09:12.650 に答える
1

Sequence 変数を再定義しています。本来は ko.observable です。整数値に設定しています。値を次のように設定する必要があります

newMenuVM.Sequence(self.menus().length+1);

これにより、オブザーバブルが画面上の値を通知および更新できるようになります。

于 2012-10-19T05:13:52.143 に答える