3

私はko.computedにとても混乱しています。いつ使うかわからない。私は2つの声明を持っています。違いと使用するタイミングを教えてください。

self.fullName = ko.computed(function() {
    return self.firstName() + " " + self.lastName();
});


self.fullName = function() {
    return self.firstName() + " " + self.lastName();
};
4

2 に答える 2

5

fullName を表示する場合、これらのオプションのどちらでも結果は同じになります。関数に対する計算結果の違いは、読み取りと書き込みのサブ関数を割り当てることができることです。そうすれば、別の関数の代わりに計算された値でオブザーバブルを変更できます。

fiddleでは、firstName または lastName を変更すると、両方が変更されることがわかります。ただし、計算された名または姓を変更すると、その名前と関数も変更されます。

また、その他の例については、計算されたドキュメントを参照してください。

于 2012-10-04T19:34:54.383 に答える
0

違いは、ko.computed を使用する場合、fullName にバインドすると、firstName または lastName が変更されるたびに fullName が自動的に更新されることです。ko.computed がなければ、その作業は自分で行う必要があります。

于 2012-10-04T19:46:35.023 に答える