我最近开始玩 Knockout,我必须说它真的很棒,它可以为 Web 应用程序带来强大的功能。
但是现在我想做一些真实的事情并使用 Knockout 构建我的解决方案。例如。我的视图模型应该如何初始化。他们应该去哪里?我主要针对单页应用程序。因此,我主要对构建单页应用程序感兴趣。
我最近开始玩 Knockout,我必须说它真的很棒,它可以为 Web 应用程序带来强大的功能。
但是现在我想做一些真实的事情并使用 Knockout 构建我的解决方案。例如。我的视图模型应该如何初始化。他们应该去哪里?我主要针对单页应用程序。因此,我主要对构建单页应用程序感兴趣。
这个难题有很多部分,但这里有一个简短的清单。
免责声明:我也会对您的应用程序做出一些假设,因此其中一些会有所不同。此外,这只是一种方法。可能有很好的方法。但这对您来说应该是一个很好的起点。
假设您的应用是 SPA 中一组相邻的 5 个主要视图:
我使用显示模块模式来创建我的视图模型,尽管标准模块也非常好。
如果您有更具体的问题,很乐意回答。我试图保持这个简短的事实,这不是一个 5 分钟的答案。事实上,我正在为 Pluralsight 编写一门课程,其中一种方法将于 2012 年 8 月推出 :-)
我刚刚开源了我组装的迷你 SPA 框架,其中 Knockout 是主要组件。
knockout-spa 建立在 Knockout、Require、Director、Sugar 之上的迷你(但成熟)SPA 框架。 https://github.com/onlyurei/knockout-spa
现场演示: http: //knockout-spa.mybluemix.net
对于那些需要更新替代方案的人(2015 年)...另一种选择(也是一个非常好的选择)是使用 Yeoman 为您搭建一个单页应用程序,如 Steven Sanderson 的博客中所述
它为您完成了您需要的所有架构,因此您可以专注于编写代码。尽量利用已知的淘汰组件功能的可重用性 - Steve Sanderson 对此进行了惊人的描述,因此我不会剥夺他出色工作的荣耀。