0

我在这里准备了一个简单的道场:http: //dojo.telerik.com/iQERE

设想:

我在另一个数组中有一个数组,我想用某种表格/网格中的剑道模板来渲染它。第一个数组的项目是行,内部数组的项目是列。

我用谷歌搜索并发现了这种技术:模板内的模板

问题是:

1) 如何绑定嵌套数组项的值?

我试过data-bind="value:subval"了,但它不起作用。

我认为因为使用该技术,该模板的“真实数据”是外部数组,而不是内部数组!

试过data-bind="value: item.subval"- 没有结果。

所以最后我尝试data-bind="value: subList[#:index#].subval"了它并且它有效。但我问自己:这是正确的吗?

2) 如何将值绑定到嵌套模板中的函数?(著名的剑道 mvvm 计算字段)。

我希望我可以将所有输入绑定到一个独特的函数,该函数接受“调用者”值并做一些事情(例如,乘以另一个模型字段)。但是我无法摆脱谁调用了该函数……我的"e"论点是整个数据!

经过一些实验后,我尝试了这种方式:http ://dojo.telerik.com/OpOja并且第一次工作......但是当模型的 value1 改变时,函数似乎没有触发(我希望在正常情况下mvvm 行为),可能是因为我在dataSource. (它observable本身不是一个对象?)

我希望我能很好地解释我的问题!

4

1 回答 1

1

嗯..这似乎是不可能的。来自 Telerik 票证的回应:恐怕 Kendo MVVM 框架不允许您在所讨论的场景中实现所需的双向绑定。这样做的原因是,在模板中的 $.each() 中只会执行一次,并且不会在 viewModel 更改中重新评估。

此外,如果您需要为 MVVM 模型配置分层数据源,我建议您按照此示例进行操作。您会注意到,与您的实现类似,它包含一个字段,该字段是作为另一个字段的函数计算的。但是,它也不允许您进行所需的双向绑定。所以 value1 字段的更新不会再次触发上述函数。

于 2017-04-21T09:11:54.123 回答