我从事过一个 ASP.NET MVC3 项目,和你一样,我开始使用 jQuery 进行一些简单的 DOM 操作,但随着时间的推移,我最终有了很多客户端逻辑来使用 jQuery 进行管理 - 所以我开始切换到 knockoutJS .
在开始迁移之前,我浏览了http://learn.knockoutjs.com/上的所有优秀教程- 只是为了熟悉术语(视图模型、绑定、自定义绑定、可观察对象、实用程序函数等)和一些您可以制作的不同绑定。
然后我开始以最适合我的应用程序的方式创建我的视图模型——这部分特别取决于你正在制作的应用程序类型。就我而言,我使用了很多ko.observable()
' 和ko.observableArray()
' 以便在满足不同条件时轻松更新客户端。随着视图模型的出现,我开始使用适当的绑定(foreach
、with
、text
、css
、attr
、enable
等)更新我的视图——这样我就可以一直看到一些进展。
所以总结一下——开始学习如何使用它——然后开始定义你的视图模型并找出你需要代表客户端的状态。然后开始(重新)实现您的视图 - 一个接一个地替换您的一些“旧”jQuery 代码并开始保存一些行并获得更干的视图实现;)
顺便说一句 - StackOverflow 和http://knockoutjs.com/documentation/introduction.html将成为你的朋友 - 如果你有任何疑问,它几乎总是在文档中 - 如果它非常具体(或很难找到),我发现在 StackOverflow 上找到已经提出的相关问题非常简单。
- 更新:
和你一样,我也有一系列 AJAX 请求——机器人我也使用 SignalR 向客户端发送一些异步实时消息——我确实发现 observables 对此非常有用——所以如果我应该推荐 knoutJS 的特定部分你应该非常注意并开始熟悉,那就是observables,observable arrays和computed observables。