4

这是我关于 SO 的第一个问题,所以我会尽量让它清晰易懂。

我最近开始使用 Angular JS,目前我正在使用 Angular JS 和 jQuery Mobile 开发移动应用程序。到目前为止,我还没有遇到任何重大问题,也不需要考虑任何外部库进行集成(例如 angular js + jquery 移动适配器)。我创建了一个多页面应用程序(目前只有两个页面)并为每个页面(登录 + 内容页面)使用单独的控制器。该应用程序本身很简单,它只是一个保存列表的应用程序,我根据内容页面的 ui 方面创建了一个快速 jsfiddle:http: //jsfiddle.net/G7JNV/4/

该应用程序按 jsfiddle 的预期工作。但是,由于内容页面是与登录页面相同的 html 文档 (index.html) 中的页面,因此要导航到内容页面,url 变为:

.../index.html#mainpage

(主页是列表管理员的页面)

那是事情开始变得有趣的时候。当 url 像上面那样时,当向列表中添加一个项目时,该项目最初是没有样式的(它看起来不像是列表的一部分),但该项目的 css 样式在添加另一个项目后又回来了。当然,下一个项目是无样式的(依此类推)。

如果您想查看问题的外观:

在此处输入图像描述

但是,如果我没有将哈希页面作为 URL 的一部分,那么一切都可以正常工作(我通过将两页应用程序转换为内容的一页来测试这一点,以便.../index.html直接进入内容页面)。正如人们所期望的那样,css 可以很好地应用于动态内容。

当然我不知道它为什么这样做,我怀疑这与 angular 和 jqm 如何处理 URL 中的哈希锚有关(但请记住,我在 Angular JS 和 jQuery Mobile 方面都没有太多经验) .

任何更有经验的 Angular JS(和 jQuery Mobile)用户的帮助将不胜感激!

4

1 回答 1

0

您应该创建一个指令来封装列表和您拥有的逻辑。

正如对您问题的评论中所建议的那样,超时可以工作。如果您对元素“闪烁”或“闪烁”有疑问,可以使用ngCloak指令来解决这个问题。

您可能还需要检查应用程序中的$locationProvider配置并关闭 HTML5 模式或设置哈希前缀。

于 2014-08-17T13:50:09.920 回答