0

私は Knockout.js を初めて使用します。監視可能な配列を作成し、いくつかのデータで初期化しました。UI が変更されるたびに (チェック ボックスまたはテキスト値)、モデルも更新されるはずです。

私もアレイを購読しています。しかし、私のコールバックメソッドは呼び出されません。

var viewModel = {
    seats:ko.observableArray( [
        { "No": "1", "Booked": "" }, ...
    ] )
};

viewModel.seats.subscribe(
    function(newvalue){
        alert(newvalue);
    }
);

ko.applyBindings( viewModel);

http://jsfiddle.net/2NMJX/

4

1 に答える 1

3

監視可能な配列を作成したところです。つまり、配列が更​​新されるたびに通知されます (要素が追加または削除されます。例: http://jsfiddle.net/2NMJX/1/ )。ただし、要素自体が更新された場合は通知されません。更新されます。これを実現するには、オブザーバブルに値をカプセル化する必要があります。

seats: ko.observableArray( [
    { "No": ko.observable("1"), ...

次に、これらのオブザーバブルをサブスクライブできます。

viewModel.seats()[0].No.subscribe( ...

http://jsfiddle.net/2NMJX/2/ (「1」を編集してみてください)

于 2012-06-27T17:49:40.097 に答える