0
observable对象我用下面的Ajax代码由它的ID,以获得所谓的客户端对象像这样:映射/使用Ajax
不过虽然selectedClient是可观察到的它的值不所以如果我结合说selectClient()的值。给文本框命名,改变文本框不会更新值。我不想创建一个函数和一个推送方法,我喜欢能够简单地将返回的对象放在未来的更改中。我能做些什么来使他们具有可观察的价值?
observable对象我用下面的Ajax代码由它的ID,以获得所谓的客户端对象像这样:映射/使用Ajax
不过虽然selectedClient是可观察到的它的值不所以如果我结合说selectClient()的值。给文本框命名,改变文本框不会更新值。我不想创建一个函数和一个推送方法,我喜欢能够简单地将返回的对象放在未来的更改中。我能做些什么来使他们具有可观察的价值?
selectedClient
应该是可观察的,如果您想要反映UI中的更改,它也是属性。
你是如何创建你的selectedClient的?
你实际上应该创建一个类是这样的:
Client = function(data){
ko.mapping.fromJS(data,{},this);
}
有一个像这样在您的视图模型属性:
selectedClient = ko.observable()
和Ajax的你的成功方法应该是:
success: function (result) {
model.selectedClient(new Client (result));
$("#loader").hide();
}
这将确保您的对象的属性发生更改时,您的视图反映出它。欲了解更多信息,您可以参考以下链接:
之前没有真正使用的映射,当我试图做到这一点我:不能调用方法“fromJS”的定义,我需要另一个脚本?如果是的话,我可以通过Nuget获取它吗? – user1166905
@ user1166905:我发给你的链接已经有下载链接。 – TCM
我发现一个Knockout.Mapping NuGet包已经得到了这个问题,但现在我不能再得到的值,即数据绑定=“值:selectedClient()。名称”之前工作,并说名称不存在对于selectedClient当我尝试并获得它在js – user1166905