我有复杂的视图,它由不同的部分组成。我需要手动将它的某些部分绑定到与View本身不同的ViewModel。目前,Kendo UI正在处理主绑定的View的所有元素 - 是否有任何方法可以指示它跳过像Knockout这样的元素?
谢谢,
萨姆
答案 0 :(得分:1)
我不知道如何取消绑定某个元素,但您可以使用kendo布局和任意数量的视图。每个视图都可以拥有自己的视图模型。这是一个清晰而灵活的解决方案。
<div id="app"></div>
<script type="text/x-kendo-template" id="layout-template">
<h1 data-bind="text: heading"></h1>
<div id="view1-container"></div>
<div id="view2-container"></div>
</script>
<script type="text/x-kendo-template" id="sub-view1-template">
<p data-bind="text: text1"></p>
</script>
<script type="text/x-kendo-template" id="sub-view2-template">
<p data-bind="text: text2"></p>
</script>
<script>
var layoutViewModel = kendo.observable({
heading: 'Layout heading'
});
var view1ViewModel = kendo.observable({
text1: 'Text from view-model 1'
});
var view2ViewModel = kendo.observable({
text2: 'Text from view-model 2'
});
var mainLayout = new kendo.Layout('layout-template', { model: layoutViewModel});
var view1 = new kendo.View('sub-view1-template', {model: view1ViewModel});
var view2 = new kendo.View('sub-view2-template', {model: view2ViewModel});
mainLayout.render($("#app"));
mainLayout.showIn('#view1-container', view1);
mainLayout.showIn('#view2-container', view2);
</script>