Kendo MVVM:如何将函数绑定到模板内的模板?

问题描述 投票:0回答:1

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

场景:

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

我用谷歌搜索并找到了这种技术:模板内模板

问题是:

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

我尝试过

data-bind="value:subval"
但没用。

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

尝试过

data-bind="value: item.subval"
- 结果一无所获。

所以最后我尝试了

data-bind="value: subList[#:index#].subval"
并且成功了。但我问自己:这是正确的吗?

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

我希望我可以将所有输入绑定到一个独特的函数,该函数接受“调用者”值并执行某些操作(例如乘以另一个模型字段)。 但我无法摆脱谁调用了该函数...我的

"e"
参数是整个数据!

经过一些实验,我尝试了这种方式:http://dojo.telerik.com/OpOja并且第一次有效......但当模型的 value1 发生变化时,该函数似乎不会触发(我希望如此)在正常的 mvvm 行为中),也许是因为我在

dataSource
中声明了该函数。 (它本身不是一个
observable
对象?)

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

mvvm kendo-ui kendo-mvvm kendo-template kendonumerictextbox
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.