0

モデルが2次元配列であるノックバックjs(knockoutjs + backbonejs)を使用しようとしています)つまりテーブルであり、viewModelはforeachを使用してテーブルhtmlタグにバインドされているため、監視可能なテーブルを取得し、セルをクリックするたびに送信します2 次元配列全体を API に渡します。

私が尋ねた質問でこれその例を見てきましたが、次のようなものになりました:

    //model
    var GameModel = Backbone.Model.extend({ urlRoot: '/game' });

    //viewmodel
    var GameViewModel = function (game) {

        this.board = kb.observable(game, [
                         [ko.observable(0), ko.observable(0), ko.observable(0)],
                         [ko.observable(0), ko.observable(0), ko.observable(0)],
                         [ko.observable(0), ko.observable(0), ko.observable(0)]
                     ]);
    };

    var model = new GameModel({ id: 1 });
    var gameViewModel = new GameViewModel(model);
    ko.applyBindings(gameViewModel);

しかし、で始まる行に「 Uncaught Observable: key is missing 」が表示されます

this.board = kb.observable(game, [

どうすればこれを修正できますか? これを達成するためのより良い方法はありますか?

4

1 に答える 1

0

オブジェクトをオブザーバブルに送信する必要があると思いましたが、パラメーターのリストを送信しているだけです。

配列を送信するか、オブジェクトにする必要があります。たとえば、次のようになります。

this.board = kb.observable(
{
    'game': game,
    'board': [
        [ko.observable(0), ko.observable(0), ko.observable(0)],
        [ko.observable(0), ko.observable(0), ko.observable(0)],
        [ko.observable(0), ko.observable(0), ko.observable(0)]
    ]
});
于 2013-04-12T18:37:18.083 に答える