如何将Knockout视图模型拆分为多个文件

时间:2013-12-12 13:56:35

标签: javascript knockout.js

我有一个带有Knockout视图模型和相关类的长Javascript文件。

我想将它拆分成几个文件(每个类一个文件)但遇到Knockout问题。 可能我做错了什么。

我还没有在Stackoverflow上找到一个简单的解决方案,所以我决定分享我自己的解决方案(如下)。 它可能看起来简单明了,但我希望它可以帮助开发人员在Javascript中缺乏经验。

我已经看到了这个问题:Splitting knockout view model into multiple files但它对我没有帮助。

1 个答案:

答案 0 :(得分:0)

我的(非常简单)解决方案就是这样。

ViewModel.js

$(function () {


    function ViewModel() {

        var self = this;

        //.....

        self.someObservable= ko.observable();

        //.....          

       self.init = function () {

           var someObject = new esd.model.SomeObject(param1, param2);
           self.someObservable(someObject);
       }

       self.init(); //Running the init code


 }

 var esd = esd || {};
 esd.model = esd.model || {};
 esd.model.viewModel = new ViewModel();
 ko.applyBindings(esd.model.viewModel);

});

SomeObject.js

var esd = esd || {};
esd.model = esd.model || {};

esd.model.SomeObject= function(param1, param2) {
    var self = this;

    //.....
};