1

我正在尝试使用淘汰赛从服务器端加载保存的选项,请参阅下面的总体思路,

我在javascript中有以下类:

funcion Request() {  
    this.Id = ko.observable('');  
    this.Name = ko.observable('');  
    this.Form = ko.obsevable('');  
}

function Form() {
    this.Id = ko.observable('');
    this.Name = ko.observable(''); 
}

这是我的视图模型

function RequestViewModel() {
    var self = this;
    self.Request = new Request();
    *self.Request.Form = new Form();*
}

我可以毫无问题地保存表单,但是当我尝试加载保存到数据库中的表单字段时,绑定不起作用。

如果有人遇到过同样的问题,请告诉我如何解决?

4

2 回答 2

0

aaberg 的答案是正确的,但是如果您说需要一次全部加载,我建议您使用敲除映射插件来自动执行此操作:http: //knockoutjs.com/documentation/plugins-mapping.html

你的电话看起来像这样:

ViewModel = ko.mapping.fromJS(requestFromServer);
于 2012-06-26T15:36:54.487 回答
0

你的形式是一个可观察的。设置 observable 时,应将其作为方法调用,并将解析值设置为参数。像这样的东西:

function RequestViewModel() {
    var self = this;
    self.Request = new Request();
    self.Request.Form(new Form());
}

如果您从数据库中加载了表单,它应该看起来像这样:

self.Request.Form(myLoadedForm);
于 2012-06-26T11:54:34.420 回答