knockoutJs,何时使用ko.computed

qin*_*126 3 knockout.js

我对ko.computed很困惑.不知道何时使用它.我有2个陈述.你能否向我解释一下这些差异以及何时使用它们?

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


self.fullName = function() {
    return self.firstName() + " " + self.lastName();
};
Run Code Online (Sandbox Code Playgroud)

Ryn*_*nan 5

为了显示fullName,这些选项中的任何一个都会产生相同的结果.计算机对函数的更好区别在于您可以分配读写子函数.这样,您可以使用计算值而不是单独的函数更改observable.

小提琴中,你可以看到你是否改变了firstName或lastName,两者都会改变.但是,如果您更改计算出的名字或姓氏,它将更改该名称和功能.

另外,有关更多示例,请参阅计算文档.