我已经开始玩Knockout最近,我必须说这是真正的真棒和它可以带给网络应用程序的力量.
不过现在我想用Knockout做一些真实世界和建筑师我的解决方案.例如.我的视图模型应该如何初始化他们应该去哪里?我主要针对单页面应用.所以,我主要对构建单页应用程序感兴趣.
解决方法
有很多的拼图,但这里是一个简短的名单为我.
免责声明:我也会对您的应用做出一些假设,所以有些将会有所不同.此外,这只是一种方法.可能有好的方法但这应该是一个很好的起点.
假设你的应用程序是一套在SPA中的5个主要视图:
>创建一个主/ shell html页面来容纳应用程序
>为每个视图创建一个视图/部分页面(html).每个视图都被隐藏,直到您浏览/路由.
>创建一个可以绑定到每个视图的视图模型创建一个
bootstrapper.js,可以踢任何东西.
Bootstrapper应该调用你使用的任何路由引擎(sammy,history等)
Bootstrapper会把视图绑定到viewmodel中,Bootstrapper可以
还可以启动您的SPA的任何种子数据和状态
>提示:使用SoC.使您的视图模型成为视图的模型.不要让他们做路由,ajax调用,ui操作等.有独立的对象为其他功能. DRY,KIS,SoC …所有好东西:-)
我使用显示模块模式来创建我的视图模型,尽管标准模块也是完美的.
如果你有一个更具体的问题,高兴地回答.我试图保持这个简短的真相,这不是一个5分钟的答案.事实上,我正在为Pluralsight写一个课程,以一种方式在2012年8月进行:-)