2015-08-13 30 views
1

我與Knockout.js盯着我沒有找到關於如何正確構建淘汰賽應用多文檔。結構knockout.js在不同的文件應用

在他們或其他頁面中很容易地遵循tutorial from the docs及其多個示例,但沒有太多關於文件結構的良好實踐。

我看到史蒂夫·桑德森的some videos談論他們似乎如何構建一個大的項目,但必須要有點過頭了我。他提到the Yeoman tool生成一個基本的KO結構,但是我在Express.js中使用了Node.js,並且我已經有了另一個我正在使用的結構,並且我不太確定如何混合兩者。

我此刻有什麼是3個主要文件:

  • functions.js
  • viewmodels.js(KO的ViewModels和域類)
  • events.js(jQuery的事件)

正如你所看到的,viewmodels.js文件會變得越來越大,所以我想每個視圖模型,在不同的文件及其相關的領域類分離。

我發現的問題是,一些我的ViewModels的彼此,因爲它們在某些時候訪問彼此的數據有關。

我正在使用mastermodel此刻它:

var MasterModel = function(){ 
    this.user = new UserViewModel(); 
    this.department = new DepartmentViewModel(); 
} 

var mm = new MasterModel(); 
ko.applyBindings(mm); 

所以我可以做的事情,如mm.user.sayHi()departmentViewModel

任何建議,關於結構問題?

回答

1

那麼,約曼工具生成一個單頁的應用程序的結構,使用和CrossRoadsJS RequireJS。既然你使用的是ExpressJS,我認爲Yeoman結構不適合你的情況。

如果您的視圖模型的規模越來越大,繼承是不錯的選擇。

看看這個article,這是非常好的,並教會如何使JavaScript繼承,包括私人和公共的方法和屬性。您可以使用它來創建強大且可重用的視圖模型。

關於良好做法,這blog是非常好的。它包含幾篇關於ko組件和許多其他內容的文章。

希望得到這個幫助!

相關問題