()
与()
之间有什么不同?
像:
data-bind="text: firstName"
data-bind="text: firstName()"
在我的viewModel中:
this.firstName = ko.observable("Ben");
data-bind
都可以。那有什么不同呢?
答案 0 :(得分:1)
有类似问题answered before。
要点是,在使用text: firstName
时,您将观察者传递给text
绑定,并且在使用text: firstName()
时,您传递的值是可观察到的约束力。在这两种情况下,绑定都将起作用,因为它是单向绑定,并且大多数绑定都设置为使用可观察值或普通值。但是,如果您使用的是双向绑定,例如value
,则需要使用第一种格式,以便绑定可以写回到observable。
答案 1 :(得分:0)
没有括号的可观察者是可观察者本身。使用括号,它是内容(可观察值保存的值)。在大多数情况下,您可以使用/或,但对于双向绑定(df['source_code'] = df.source.astype('category').cat.codes
>>> df
source target weight source_code
0 1 70399 0.988375 0
1 1 33919 0.981573 0
2 1 62461 0.981427 0
3 579 1 0.983019 1
4 745 1 0.995580 2
5 834 1 0.980943 3
或value
),您需要能够分配给observable,因此您需要 not 有括号。另一方面,如果要表达,则需要内容。例如:checked