2

ノックアウト コードを実行すると、次のエラーが表示されます: Uncaught Error: Unable to parse bindings. メッセージ: ReferenceError: メジャーが定義されていません。バインディング値: テンプレート: { 名前: 'measureDispTmpl', foreach: 測定値, as: '食品' }

jsfiddle コードは次の場所にあります。

http://jsfiddle.net/nickbuus/eUufc/

+ アイコンをクリックすると、現在の foodItem に新しいメジャーを追加して保存できるように、addMeasure メソッドが呼び出されます。しかし、addMeasure を呼び出そうとすると、次のメソッドが呼び出されます。

 self.addMeasure = function (myItem)  

は呼び出されず、上記のエラーが発生します。

4

1 に答える 1

1

私はあなたのフィドルを更新しました。コードでは、viewModel の foodList に mesureItem を追加します。これが food テンプレートが機能しない理由です (メジャーを表示しようとして、メジャーがメジャー プロパティではないため)。

self.addMeasure = function (myItem) {
    var foodIte = self.selectedItem();
    var newItem = new MeasureItem();
    // mine 
    myItem.measures.push(newItem);
    self.selectedItem(newItem);
   // your :
   //self.list.push(newItem);
};

フィドルを見る

あなたの質問に答えて:

これを addMeasure 関数の最後に追加するだけです:

self.selectedItem(newItem);

お役に立てば幸いです。

于 2013-06-07T08:31:05.063 に答える