knockout.js复杂的obeservable?

knockout.js复杂的obeservable?,knockout.js,observable,Knockout.js,Observable,我有下面的型号 var ViewModel = function(){ var self = this; self.appointment = { title: ko.observable(), description: ko.observable(), time: ko.observable(), address1: ko.observable(), address2: ko.observable(

我有下面的型号

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\u set

我有一个绑定到模型的约会元素的视图,但是当我使用ObservalArray中的元素设置
约会
元素时,该视图不会使用值更新,请参见以下内容:

viewmodel.appointment = viemodel.appointment_set()[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]);
如果要使用以下行,请将其用作ObservalArray:

 viewmodel.appointment(viemodel.appointment_set()[0]);
因为你不能对一个可观察的。。。仅当您正在处理observableArray时才使用

还要确保约会也被宣布为可观察的日子

self.appointment=ko.observableArray();

希望这能帮助你。。。我只是说从我所知道的。。。如果我错了,请原谅。

我怀疑真正的问题是,
约会集()[0]。xyz
不可见。这意味着,
appointment.xyz
是不可见的。或者,如果情况并非如此,则可能是
.appointment=..
在绑定VM之后发生,在这种情况下,仅绑定对象(在现在“断开连接”的情况下)appointment对象-每个可观察对象发生绑定。如果是这样的话,将
约会更改为可观察的(即
self.appointment=ko.observable({…})
)并使用
.appointment(新任命)
(并绑定到
.appointment().title
等)可以解决这个问题。酷,我不知道你可以像这样创建可观察的
可观察的({})
self.appointment=ko.observableArray();