我正在尝试从服务器端加载已淘汰的已保存选项,请参阅下面的一般提示,
我在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('');
}
这是我的viewModel
function RequestViewModel() {
var self = this;
self.Request = new Request();
*self.Request.Form = new Form();*
}
我可以毫无问题地保存表单,但是当我尝试加载保存到数据库中的表单字段时,绑定不起作用。
如果有人遇到过同样的问题,请告诉我如何解决?
答案 0 :(得分:0)
你形成是一个可观察的。设置observable时,应将其作为方法调用,并将该值解析为参数。像这样:
function RequestViewModel() {
var self = this;
self.Request = new Request();
self.Request.Form(new Form());
}
如果您已从数据库加载表单,它应如下所示:
self.Request.Form(myLoadedForm);
答案 1 :(得分:0)
aaberg的答案是正确的,但是如果你说你需要一次性加载它们,我建议你使用knockout mapping插件自动执行此操作:http://knockoutjs.com/documentation/plugins-mapping.html
你的电话会是这样的:
ViewModel = ko.mapping.fromJS(requestFromServer);