我想用js建立一个联系人列表,但是有太多的js技术,如backbone.js、spine.js、knockout.js等,我真的不知道哪个最适合我。
我的联系人有几种主要类型:FacebookUser、User 和 UserList。 userlist 的问题在于它是用户或 UserLists 的集合。此外,它本身可能有也可能没有自己的联系信息(如公司或团队)。
我想在 TreeView 中显示此列表,您可以在其中深入查看 UserList(并延迟加载组成员)。
最后,整个联系人列表是一个实例。我的意思是您在同一个窗口中同时打开了 0-n 个联系人列表。
对于这种情况,我应该使用什么框架?
最佳答案
您提到的所有三个库(backbone.js、spine.js、knockout.js)都针对单页浏览器应用程序。
但是您对问题的描述听起来更像是格式问题,而不是数据管理问题。即,您希望您的页面显示数据。您不需要将页面的更改保存回服务器;您的用户将刷新页面以显示新的或不同的信息。
如果我对您的目标的理解是正确的,我会选择 jQuery 或 YUI。你提到的库会有点矫枉过正。
已添加 YUI 有一个不错的 treeview widget支持延迟加载分支。我为此使用它。
如果您决定使用模型层,YUI 3 包括 Model和 ModelList .它们基于 Backbone api。
回复:MVC 评论 在评论中,OP 提到“对同一数据的多个 View 、更改传播和编辑检测(如果用户更改数字)和来自服务器的更新”
对于那些情况,是的,如今许多酷 child 都在浏览器本身上使用完整的 MVC 框架。如果你想朝那个方向前进,那么你可以使用你提到的三个中的任何一个。备注:
Backbone,可能还有其他两个,不提供完整的 MVC。相反,Backbone 提供模型和 Controller 部分,尤其是模型。通常使用 Mustache对于 View 。此外,通常使用下划线或 jQuery 来提供基本功能。如果您在 Google 上搜索 Backbone 示例,其中很多都包含 jQuery。
结帐 YUI 新 y.App .它在一个有据可查的库中包含了所有 MVC 部分。 y.App 正在火热开发中,基于Backbone api。 video-cast
浏览器上的 MVC 框架是全新的。不要对快速更改库代码、不一致的文档、很少的示例等感到惊讶。您还应该考虑记录和发布您的调查。为了获得额外的荣誉,让它在移动浏览器上运行良好。
据传 49 Signals 正在开发浏览器端 MVC 框架,但我们还没有看到任何消息。
我认为 backbone 是模型库中最高级的。但它已被证明让许多新用户感到困惑,因此一些其他库基于它的概念。
根据我使用 YUI 的经验,他们的 Y.app 将拥有最一致、最完整的 API 集和最好的文档。
关于javascript - 什么 Javascript 框架最适合这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200115/