在 Knockout JS 中何时使用属性或函数

3

我不知道何时使用属性或函数。您能否详细解释一下 hasCellphone 在这里是一个函数还是属性?什么情况下它可以是属性或函数?我们应该使用什么?
启用:hasCellphone 还是
启用:hasCellphone(),为什么?

<input type='checkbox' data-bind="checked: hasCellphone" />
I have a cellphone

Your cellphone number:
<input type='text' data-bind="value: cellphoneNumber, enable: hasCellphone" />

<script type="text/javascript">
var viewModel = {
    hasCellphone : ko.observable(false),
    cellphoneNumber: ""
};
</script>
1个回答

2
正如您所设置的那样,hasCellphone 是一个可观察对象。根据官方文档:

可观察对象是函数。实际值和可观察对象的订阅者由该函数在内部缓存。通过将新值作为唯一参数传递给函数来设置可观察对象的值,并且通过不传递参数来读取该值。

关于在表达式中使用可观察对象时是否需要使用括号()

然而,在绑定中,如果您在表达式中使用可观察对象,则需要将其作为函数引用。同样,在代码中,除非您实际上想要传递可观察对象本身(而不是值),否则通常需要将可观察对象作为函数引用。

您可以参考以下文章:

了解 KnockoutJS 的 10 件事情


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接