9

我正在用 jQuery Mobile 和 Angular.js 做一个应用程序。因为我们在使用这两个库时遇到了一些问题,存在一个执行“工作”的适配器。

所以我正在尝试使用 routeProvider 来路由我的页面。但我仍然无法使用它呈现页面。

如果你能帮我指路,请在这里。

http://plnkr.co/edit/DNGiT83csWMmfYnHXOop

提前致谢!

4

1 回答 1

14

我遇到了类似的问题,也许我学到的东西可能会对你有所帮助。它归结为 angular 和 jquery 从一个页面/部分到另一个(路由)的方式的差异。

首先,基础知识:通过将一大块 html 插入到您的视图中,然后在任何点击/操作/等上,从视图中删除该 html 并添加一个新的 html 块来进行角度路由。基本上你一直在同一个页面上;只是包含的 html 正在改变。相比之下,将 jqm 视为将所有 html 加载到同一页面中,这些 html 块作为 div。而不是删除 html 块并替换它们(通过路由),它只是关闭和打开 div。(有多页 jqm 应用程序,但 SPA 确实突出了差异。)

我的建议是选择您真正想要的一组功能:angular 的极简加载(仅在您需要时),或 jqm 的华丽过渡和其他内置功能。如果你有一个庞大的应用程序,每个页面上都有大量数据,你可能想绕过 jqm 并单独使用 angular,看看你可以用 angular 的新动画函数做什么。这意味着您需要构建(通过 CSS 或 javascript)jqm 功能的副本——据我所见,您可以接近,但它不会像 jqm 那样令人愉快地简化。

如果 jqm 内置功能是您真正想要的,那么请跳过使用 angular 的路由。无论如何,它只会引入各种并发症。使用 jqm 的模式设置你的页面,并且只在你处理数据的地方使用 angular。

我发现最好的方法是把它当作一个 jqm 应用程序来对待,并且只在你需要的部分添加角度。毕竟,你不必在 html 行添加 ng-app;您可以根据需要将其添加到单个 div 中。由于 jqm 作为一种系统范围的东西是最快乐的,而 angular 被限制在系统内的部分就很好,到目前为止,我发现 jqm-whole 和 angular-parts 是获得两者最佳的最简单方法世界。

于 2013-06-27T21:48:35.843 回答