我有一个 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