0

私は一般的に新しいcanJです。can.fixture と can.observe の違いと、それらがどのように使用されているかを理解するのに苦労していますか?

私の理解では、 can.observe は関数をリッスンして監視し続けるだけで、2 つのパラメーターが必要です。フィクスチャに関しては、盗みについて耳にし続けるので、私は本当に迷っています。

4

1 に答える 1

1

それらはかなり異なります。

観察する

Observe は、値が変化するたびにイベントを受け取ることができる監視可能なオブジェクトです。

var ob = new can.Observe({
    name: 'Test'
});

ob.bind('change', function(ev, attr, how, newVal, oldVal) {
    console.log('Something on ob changed, the new value is: ' + newVal);
});

ob.attr('name', 'Changed');

これは多くの場所で役立ち、ビュー バインディングを可能にします (つまり、Observe でビューをレンダリングする場合、Observe を自動的に更新するたびに HTML が変更されます)。詳細については、ドキュメントを参照してください。

備品

Fixture は AJAX 応答をエミュレートするだけで、REST バックエンドがまだ稼働していない場合でも、アプリケーションのテストや機能の実装に役立ちます。

// Static fixture
can.fixture("tasks", "fixtures/tasks.json");

can.ajax({
    url: 'tasks',
    dataType: 'json'
}).done(function(data) {
    // data is the content of fixtures/tasks.json
    // instead of making a request to tasks
});

// Dynamic fixture
can.fixture("/foobar.json", function(original, response){
    response(200, "success", { json: {foo: "bar" } }, {})
});

両方が一緒になるのは、モデルを使用する場合です。モデルは基本的に、REST バックエンドからデータを取得する単なる観察です。モデルとフィクスチャの詳細

于 2013-07-25T18:28:43.777 に答える