当具有函数的派生成员时,Kendo UI Databound对象不会更新

时间:2013-03-15 11:05:26

标签: kendo-ui

我有一个具有两个派生成员的observable,它们又使用一个函数来操纵主数据中的值。简单的函数,做一点字符串操作。

首次加载并绑定到DOM片段时,一切正常,但如果我更新值,则派生值不会更改。

//mvvm
window.userdata = kendo.observable({
    user: null,
    miniavatar: function () { return getAvatarUriWithRadius(this.get('user.AvatarPublicId'), 36); },
});

//first bind which works
$.post('Account/GetUser', {}, function(response) {
    window.userdata.set('user', response.Data);

    //bind the notifications and overduetasks
    kendo.bind($('#top'), window.userdata.user);

});


//DOM
<div id="top">
    <div id="latesthig" class="floatright">
        <div data-bind="attr:{class:latesthigclass}"></div>
    </div>
    <div class="button floatright"><a id="search" href="#"></a></div>

    <span class="button" id="addnote" title="add note"><span></span></span>
    <span data-bind="text:miniavatar"></span>

    <div id="messages"></div>

</div>

随后更改的值不会更改miniavatar派生成员的文本

window.userdata.set('user.AvatarPublicId', value);

任何想法?某处傻错? TIA

1 个答案:

答案 0 :(得分:0)

您绑定到observable的User子属性而不是observable本身。

更改绑定代码以绑定到observable:

kendo.bind($('#top'), window.userdata);