【问题标题】:Ember JS Getting Started - Screen FlickerEmber JS 入门 - 屏幕闪烁
【发布时间】:2017-06-12 23:17:25
【问题描述】:

我目前正在阅读 Ember 2.13 的 getting started 指南。

我已经开始添加我的第一条路线:/scientists 路线。我很担心,因为当我转到那个 URL 时,屏幕会闪烁,我没想到会在这样一个基本的 SPA 中发生一些事情。

我添加了一个链接here,展示了更改网址时的闪烁。

我对在 Chrome 中重新绘制有什么误解吗?因为在 Safari 中它似乎工作正常。但我倾向于认为这是因为一些 Safari 优化,而不是 Ember 在 Safari 而不是 Chrome 中完成它的工作。

我正在使用ember serve 命令。它还说没有安装watchman,但由于这只是为了发现文件更改,我认为它不会影响这一点。

【问题讨论】:

    标签: javascript google-chrome ember.js ember-cli single-page-application


    【解决方案1】:

    闪烁的原因是如果您手动更改 URL 并按 Enter 键,则会导致页面重新加载(这会导致 Ember 应用重新初始化)。要在路由之间无缝过渡(没有闪烁/页面重新加载),您需要使用 Ember 的 {{link-to}} 助手。与手动更改 URL 不同,{{link-to}} 帮助程序不会导致页面重新加载,只会转换到新路由。

    controllerrouter 上下文中还有其他方法可以这样做。主要是Route#transitionToController#transitionToRoute

    在 Ember 应用中进行路由时,您应该始终使用上述方法之一。确保不使用<a> 标签或更改window.location。这些方法可以工作,但在重新获取和初始化 Ember 应用程序时会导致明显的闪烁。

    确实,watchman 是一项可选升级,可提高检测文件更改所需的时间/可靠性。它不应该影响您描述的闪烁。

    【讨论】:

    • 非常感谢您的帮助。非常感谢。
    猜你喜欢
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    • 2015-11-05
    • 2014-11-29
    • 1970-01-01
    相关资源
    最近更新 更多