【问题标题】:SPA using Angularjs, pages refreshes while Navigation使用Angularjs的SPA,导航时页面刷新
【发布时间】:2014-03-05 18:23:51
【问题描述】:

我使用 Angularjs(和 Bootstrap)制作了一个小型 SPA 应用程序。 已遵循来自 anuglar 网站的所有规范和互联网上的其他参考资料。 为了在主页面中动态包含其他页面,它使用 ng-view

但是,如果我们一般阅读 SPA 架构,那么它会说所有页面都在开始时加载并且页面从不刷新。

但是,如果我们仔细观察,那么页面确实刷新了几分之一秒,不仅在我制作的演示应用程序中观察到这一点,而且在使用 angularjs 的一些参考 SPA 中也观察到了这一点。

只是想确认我的怀疑,并确保它不是我在做的错误。

谢谢。

【问题讨论】:

  • 我假设你没有设置路由,如果你的应用程序没有在角度设置路由,它真的不是 SPA。
  • 我当然做到了,这不是问题。
  • 你必须意识到,当基于哈希的路由发生变化时,一些浏览器会显示一秒钟的闪烁,也可能是一些 CSS 问题,比如溢出,你能做的最好的事情就是检查你的用于请求的浏览器网络选项卡,并查看预先加载了哪些资源。
  • 是的,刚才这样做了,只请求新的内容/数据,如下所示,它只是 DOM 更改而不是页面刷新..

标签: angularjs single-page-application ng-view


【解决方案1】:

您所看到的不是页面重新加载,而只是将新内容加载到 DOM 中,呈现刷新的外观

【讨论】:

  • 感谢您的回复。所以这是一种常见的行为,没有任何问题。酷!
【解决方案2】:

页面不应重新加载。您所看到的可能是 DOM 发生了变化。

我还注意到,当我更改路线时,网站图标会重新加载。这可能会使页面看起来正在重新加载。我知道这一点,因为我正在记录服务器中的每个请求,这是了解何时加载的好方法。

【讨论】:

  • 如果您使用 NodeJS 和 express,您可以使用 app.use(express.logger('dev')); 跟踪所有请求。
  • 感谢您的回复!我将尝试记录所有请求并确认。
  • 是的,您是对的,只请求新内容,不再请求现有内容,因此不是页面刷新,而是 DOM 更改!
猜你喜欢
  • 1970-01-01
  • 2014-08-28
  • 1970-01-01
  • 2015-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-31
  • 1970-01-01
相关资源
最近更新 更多