从javascript对象更新基于敲除的表单

从javascript对象更新基于敲除的表单,javascript,knockout.js,Javascript,Knockout.js,是否可以仅在查看/使用自定义类的其他对象时使用Knockout? 我试图找到一种方法,用不同的数据,但总是相同的结构来打开敲除 我所做的: 在html页面上,我有: Event ID: <span data-bind="text: id"></span> 当我使用ko.applyBindings时(arr[0])它可以工作,但是如果我想加载另一个“模型”,而不清理节点并在页面上重新应用敲除,该怎么办 我想要的是: 我想要一些类似于ko.applyBindings(arr

是否可以仅在查看/使用自定义类的其他对象时使用Knockout? 我试图找到一种方法,用不同的数据,但总是相同的结构来打开敲除

我所做的: 在html页面上,我有:

Event ID: <span data-bind="text: id"></span>
当我使用ko.applyBindings时(arr[0])它可以工作,但是如果我想加载另一个“模型”,而不清理节点并在页面上重新应用敲除,该怎么办

我想要的是: 我想要一些类似于ko.applyBindings(arr[1])这将根据我想要的数据更新接口


当然,实际上cEvent类要复杂得多,但我想看看我们是否能够在不直接使用knockout扩展这些cEvent实例的情况下完成一些事情

也许我只是想做些错事,而这不是击倒赛想要的方式?我知道,在我的例子中,我希望knockout成为一个“简单的类读取器”,即使它可以做得更多


任何提示都将不胜感激。

以下是我要做的:

function cEvent(id){
    this.id = id;
}

function myViewModel() {
    var arr = [new cEvent(1), new cEvent(2)]

    this.selectedEvent = ko.observable(arr[0]);
}

ko.applyBindings(new myViewModel());
这样,如果您绑定到selectedEvent.id,则当您想查看其他事件时,只需更新selectedEvent属性,所有绑定都将自动更新

   cEvent2 = function cEvent2(baseEvent) {
        this.id = ko.computed(function(){
            return baseEvent.id;
        });
    }
function cEvent(id){
    this.id = id;
}

function myViewModel() {
    var arr = [new cEvent(1), new cEvent(2)]

    this.selectedEvent = ko.observable(arr[0]);
}

ko.applyBindings(new myViewModel());