有()
而沒有()
有什麼不同?淘汰賽有什麼不同data_bind
像:
data-bind="text: firstName"
data-bind="text: firstName()"
在我的ViewModel:
this.firstName = ko.observable("Ben");
無論是data-bind
可以工作。那麼有什麼不同呢?
有()
而沒有()
有什麼不同?淘汰賽有什麼不同data_bind
像:
data-bind="text: firstName"
data-bind="text: firstName()"
在我的ViewModel:
this.firstName = ko.observable("Ben");
無論是data-bind
可以工作。那麼有什麼不同呢?
無括號的可觀察值是可觀察值本身。用括號表示內容(觀察值所保持的值)。在大多數情況下,您可以使用/或,但對於雙向綁定(value
或checked
),您需要能夠分配給observable,因此您需要而不是有括號。另一方面,如果你要表達一個表達,你需要內容。例如:!someBoolean()
也有類似的問題已經answered before。
要點是,當使用text: firstName
時,您將可觀察值傳遞給text
綁定,並且在使用text: firstName()
時,您將observable的值傳遞給綁定。在這兩種情況下,綁定的工作原理都是一樣的,因爲它是單向綁定,並且大多數綁定都設置爲使用可觀察值或普通值。但是,如果您使用的是雙向綁定(例如value
),則需要使用第一種格式,以便綁定可以回寫到observable。