我有以下型号
var ViewModel = function(){
var self = this;
self.appointment = {
title: ko.observable(),
description: ko.observable(),
time: ko.observable(),
address1: ko.observable(),
address2: ko.observable(),
phone: ko.observable(),
email: ko.observable(),
}
);
然后由json数据映射,这将生成一个名为appointment_set
我有一个绑定到模型的约会元素的视图,但是当我使用observableArray中的元素设置appointment
元素时,视图将不会使用值更新,请参见下文:
viewmodel.appointment = viemodel.appointment_set()[0];
我认为这是因为appointment
本身不可观察,我该如何解决这个问题?
答案 0 :(得分:0)
根据@ user2246674的评论,我将其更改为:
var ViewModel = function(){
var self = this;
self.appointment = ko.observable({
title: ko.observable(),
description: ko.observable(),
time: ko.observable(),
address1: ko.observable(),
address2: ko.observable(),
phone: ko.observable(),
email: ko.observable(),
});
);
然后将约会设置为:
viewmodel.appointment(viewmodel.appointment_set()[0]);
答案 1 :(得分:0)
var ViewModel = function(){
var self = this;
self.appointment = observableArray({
title: ko.observable(),
description: ko.observable(),
time: ko.observable(),
address1: ko.observable(),
address2: ko.observable(),
phone: ko.observable(),
email: ko.observable(),
});
};
如果要使用以下行,请将其用作observableArray:
viewmodel.appointment(viemodel.appointment_set()[0]);
因为对于一个可观察的对象你不能说'[0]'...它只在你处理observableArray时使用。
还要确保约会也被声明为observableArray。
self.appointment=ko.observableArray();
希望这可能会对你有所帮助......我只是从我所知道的内容中说出来......如果我错了,请原谅我。