嗨,我正在用Knockout.js构建多页应用程序,并且我面临编写太多重复代码的问题。

例如,在我的一种观点中,我有:

var personVm = function {

   //properties here

}

personVm.prototype {

  //extensions & methods here

}


而且在某些时候我必须在其他视图中使用相同的ViewModel。因此我最终重复了代码。

我搜索了解决方案,而require.js是最常见的。。但就我而言,require.js不适合并且我不能使用它。因此,如果有人分享一些解决这个问题的方法,我将感到高兴。

更新:

为了进一步阐明我的问题,我需要一种容器,可以从中获取给定ViewModel的实例以获取不同的视图(我从asp.net获得)

最佳答案

您可以使用自己的敲除ko.utils.extend

var personVm = function {
   //properties here
}

personVm.prototype {
  //extensions & methods here
}


然后,以后

var superHeroVm = function() {
    var self = this;

    self.specialPower = ko.observable();

    ko.utils.extend(self, new personVm());
}

关于javascript - 重用Knockout.js ViewModels,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22967005/

10-09 22:03