【发布时间】:2017-11-07 04:57:16
【问题描述】:
在 KnockoutJS 中,为什么我们需要将视图模型的 observable 成员调用为函数,例如在下面的 sn-p 中检索 currentProfit 的值时称为 currentProfit ()。任何指针都会有所帮助。
谢谢
var viewModel = {
currentProfit: ko.observable(150000)
};
viewModel.profitStatus = ko.pureComputed(function() {
return this.currentProfit() < 0 ? "profitWarning" : "profitPositive";
}, viewModel);
【问题讨论】:
-
并不是所有的浏览器都支持 JavaScript 的 getter 和 setter(*咯* IE *咯*),所以为了兼容性,ko.observable 对象实际上是函数。要读取 observable 的当前值,只需调用不带参数的 observable。在这个例子中,myViewModel.personName() 将返回 'Bob',而 myViewModel.personAge() 将返回 123。上面的摘录回答了我的疑问,谢谢 mate