Knockout自定义绑定在哪里绑定?

时间:2013-07-31 15:23:00

标签: jquery knockout.js

Demo

为什么这个绑定不起作用。如果我将Fields“class”中observable的名称更改为name而不是myName,并且在绑定到name:name中它可以工作。不明白这个?

框中应显示1和2。不是一个很大的数字。我希望我的viewModel上的属性命名为myName。有些东西改变了viewModel所以在模板中我有Field绑定而不是绑定到myBindings的什么。我尝试将其转移到模板

UPDATE NEW DEMO 这是一个小得多的例子,你可以看到绑定是control1,而不是我正在转移到模板的绑定。

1 个答案:

答案 0 :(得分:0)

我不知道真正的问题在哪里,但我试图检查你传递给模板的数据(只需点击跨度显示$data)。并且我将数据传递给该模板,或者它的视图模型实际上是Field绑定的foreach对象。

所以您需要做的是将模板中databind的{​​{1}}更改为:

span

Working Demo

<强>更新

我认为您将数据作为<span data-bind="text:$data.myName"></span> 对象获取,因为您在Field内执行自定义绑定。来自documentation

  

foreach绑定复制了每个条目的标记部分   一个数组, 并将该标记的每个副本绑定到相应的   数组项目