【问题标题】:jQuery Mobile vs AngularJs page navigationjQuery Mobile 与 AngularJs 页面导航
【发布时间】:2013-09-20 13:50:15
【问题描述】:
我正在使用 jQuery Mobile 和 AngularJS 开发一个混合移动应用程序。
我决定将两者混合用于以下用途:
- jQuery 移动
- 良好的用户界面功能
- 不太重(例如,与 Sencha Touch 相比)
- AngularJS
我几乎没有使用 jQuery Mobile 的经验,并且在我学习的过程中,我注意到两者的页面导航模型之间存在潜在的冲突。
- 我应该只使用一个吗?
- 如果是,哪一种更适合我的需求?
- 此设置有什么问题吗?
非常感谢。
【问题讨论】:
标签:
jquery-mobile
angularjs
【解决方案1】:
您无法将它们相互比较。
Angular.js(例如 Backbone、Ember)是 MV* 框架(用于 SPA),用于直接在客户端而不是服务器中呈现 html 模板/视图。所以你的前端现在有很多应用程序逻辑,这个框架是为了让你的生活更美好,编写这个代码。
另一方面,jQuery Mobile 是一个纯粹的小部件/插件库。 AJAX 导航插件通过 AJAX 将页面(静态的,如 html)加载到 DOM 中。因此,您必须以某种方式在服务器上预渲染此页面。
如果您开始使用 Angular 构建 SPA,那么使用 jQuery Mobile 的 AJAX 导航根本没有意义。 (如果它是本地移动应用程序,则无论如何您都没有服务器。)
当然,如果没有 UI 组件库,您不会走得太远,因此请使用您选择的其中一个(例如 jQM),但使用 Angular 的指令在您的 DOM 元素上正确初始化插件/小部件,因为 $(document)。 ready(...) 或 $(document).on( "pageload", ... ) 对您的 Angular 视图一无所知。
看看以下项目:
http://angular-ui.github.io
https://github.com/angular-widgets/angular-jqm
【解决方案2】:
HERE 已经解决了这个问题
基本上文章指出,试图拦截来自angular 的导航可能会很痛苦,所以保留所有路由jqm