Kendo Unbind ViewModel并重新绑定到其他人

时间:2014-01-08 12:22:21

标签: kendo-ui kendo-mvvm

我有用于'添加'表单的viewmodel。在那个表格上我有一个名为'description'的文本框。 第一次用户在该字段中输入一些文本。 Whan用户按下取消(在同一表格上),然后再按“添加”,在“说明”字段中显示输入值的表格。

我想创建新的视图模型并解除所有具有错误值的模型的绑定。但是当我这样做时:

kendo.unbind($("#notes-dialog"));
kendo.bind($("#notes-dialog"), notesWindowModel);

旧值会在说明文本框中保留。

编辑:

notesWindowModel = kendo.observable(
        {
            text: '2'
        });

    kendo.bind($("#notes-dialog"), notesWindowModel);

    var notesWindowModel2 = kendo.observable(
        {
            text: '4'
        });

    kendo.unbind($("#notes-dialog"));
    kendo.bind($("#notes-dialog"), notesWindowModel2);

为什么我的字段等于2?

如果我添加

notesWindowModel.set('text', 'aaaa');

最后我的价值等于'aaaa'。这意味着元素绑定到第一个模型。这有什么不对?

我发现了问题:

 <div id="notes-dialog">
    <div id="notes-dialog-window" data-role="window" data-width="410" data-height="510"   data-actions="" data-modal="true" data-title="false" style="display: none;">
    <div id="notes-new-item">
        <div>
            <h3>Notes</h3>
            <div>
                <span>Note</span> <span>Is Delay?</span><span><input data-bind="value: model.Entity.IsDelay" class='k-input notes-checkbox' type='checkbox' /></span>
            </div>
            <div>
                <textarea class="k-input utility-analysis-textarea notes-textarea" data-bind="value: text"></textarea>

问题是我在该元素中有kendo窗口,当我第一次打开该窗口时它会替换HTML并且绑定错误。

1 个答案:

答案 0 :(得分:0)

旧线程,但我最近遇到了同样的问题。 在我的情况下,我只需要销毁所有剑道元素:

kendo.destroy(document.body);