2014-02-19 36 views
3

我不知道在哪里使用属性或功能。你能否详细解释一下hasCellphone在这里是一个功能还是属性。何时可以是财产或功能。我们应该使用什么?
启用:hasCellphone或
启用:hasCellphone() 以及为什么如此。使用地点Knockout JS中的属性或功能

<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> 

回答

2

正如你已经为自己设定,hasCellphoneobservable,它是一个可观察的。并作为官方文件:

观察是功能。 observable的实际值和订阅者由函数内部缓存。您可以通过将新值作为函数的唯一参数传递给observable的值,并通过不传递参数来读取该值。

以及使用观测没有或()

但是,如果你在表达式中使用可观察到的有约束力的,那么你就需要引用它作为一个功能。同样,在代码中,你通常需要引用你的observables作为函数,除非你真的想要传递observable本身(不是值)。

你可以看看下面的文章:

10 Things to Know About KnockoutJS on Day One

相关问题