启用绑定:括号是什么?

时间:2015-08-30 12:17:04

标签: knockout.js data-binding

a tutorial for DukeScript,你需要使用Knockout。有enable绑定。例如:

<button data-bind="enable: !rotating(), click: $root.turnAnimationOn">Start</button>
<button data-bind="enable: rotating, click: $root.turnAnimationOff">Stop</button>

因此DataModel具有rotating布尔属性。

我的问题:

  1. 为什么我们在()之后使用!rotating

  2. 如果我从否定表单中删除括号,它就不会起作用。如果我将括号添加到肯定形式,那么它仍然有效。这是为什么?

1 个答案:

答案 0 :(得分:1)

1)通常读取我们使用()的可观察对象,我们只能对unwrapped可观察内容执行操作。

在observable上没有!,就像在函数上执行NOT而不是返回它的值一样。所以如果你想完成这个,你应该first稍后阅读它{/ 1}}运算符

2)第1点回答你的观点2,即!(​​真)有效,但!(函数(){})在这里看起来不是一个有效的案例。

简单来说,如果你愿意对observable执行任何操作,你应该使用NOT约定。