Javascript Knockoutjs在命名空间视图模型中启用绑定

Javascript Knockoutjs在命名空间视图模型中启用绑定,javascript,knockout.js,Javascript,Knockout.js,我在使enable绑定工作时遇到问题,我认为问题是由于我实现视图模型的方式造成的。我没有将视图模型创建为函数,而是将它们命名为间距,以便可以从可互换的局部视图动态构建它们 看这把小提琴的例子 有什么想法吗 谢谢,Tom在您的绑定中,您不应该在名称中引用“vm” 我在更新了你的小提琴,只是一个猜测(我没有运行代码): 当数据绑定到不止一个值时(通过使用&&组合它们),需要调用访问器函数,而不是访问值本身 所以基本上: data bind=“enable:foo()&&bar()” 而不是 data

我在使enable绑定工作时遇到问题,我认为问题是由于我实现视图模型的方式造成的。我没有将视图模型创建为函数,而是将它们命名为间距,以便可以从可互换的局部视图动态构建它们

看这把小提琴的例子

有什么想法吗


谢谢,Tom在您的绑定中,您不应该在名称中引用“vm”

我在

更新了你的小提琴,只是一个猜测(我没有运行代码):

当数据绑定到不止一个值时(通过使用
&&
组合它们),需要调用访问器函数,而不是访问值本身

所以基本上:

data bind=“enable:foo()&&bar()”

而不是


data bind=“enable:foo&&bar”

您可以这样做,但这是不必要的。KO将自动打开值。好的,如前所述-没有运行它。@photo_tom:这不是真的,当在表达式中使用可观察值时,您总是需要调用相应的访问器。那么它是哪一个呢?它会不会把它们拆开?总是调用访问器函数会更安全吗?使用您的示例已经解决了这个问题,虽然问题不在于vm,但在于我将observable设置为null对象,而不是false,这对我来说是新的,但它可以工作。谢谢。和上面的@tom一样,你是否移除了你的小提琴,b/c我也收到了你的404错误()?谢谢。我不是故意的,但你的权利似乎已经不存在了,我的另外两个也不存在了。我去看看能不能把它们找回来@FlakDiNennodid如果你删除了你的fiddle(),我会得到一个404错误的网页。