【发布时间】:2015-11-06 10:53:57
【问题描述】:
我正在关注 Knockout.js,但没有找到太多关于如何正确构建淘汰应用程序的文档。
很容易遵循tutorial from the docs 及其在其中或其他页面中的多个示例,但没有太多关于文件结构的良好实践。
我见过 Steve Sanderson 的 some videos 谈论如何构建一个大项目,但他们似乎有点过分了。他提到the Yeoman tool 来生成基本的 KO 结构,但我正在使用 Node.js 和 Express.js,并且我已经有另一个正在使用的结构,我不太确定如何混合两者。
我目前拥有的是 3 个主要文件:
- functions.js
- viewmodels.js(ko 视图模型和域类)
- events.js(用于 jQuery 事件)
如您所见,viewmodels.js 文件将变得越来越大,因此我正在考虑将每个视图模型与其关联的域类分开放在不同的文件中。
我发现的问题是我的一些视图模型相互关联,因为它们必须在某些时候访问彼此的数据。
我现在正在使用一个大师模型:
var MasterModel = function(){
this.user = new UserViewModel();
this.department = new DepartmentViewModel();
}
var mm = new MasterModel();
ko.applyBindings(mm);
所以我可以从departmentViewModel 做诸如mm.user.sayHi() 之类的事情
关于结构问题有什么建议吗?
【问题讨论】:
标签: knockout.js knockout-3.0 knockout-3.2