Ember JS入门-屏幕闪烁
Ember JS Getting Started - Screen Flicker
我目前正在阅读 Ember 2.13 的 getting started 指南。
我已经开始添加我的第一条路线:/scientists
路线。我很担心,因为当我进入那个 URL 时,屏幕会闪烁,我没想到这种基本的 SPA 会发生这种情况。
我添加了 link here,展示了更改 URLs 时的闪烁。
我对 Chrome 中的重绘有什么误解吗?因为在 Safari 中它似乎工作正常。但我倾向于认为这是因为一些 Safari 优化而不是 Ember 在 Safari 中而不是 Chrome。
我正在使用 ember serve
命令。它还说 watchman
没有安装,但因为那只是为了发现文件更改,我认为它不会影响这个。
它闪烁的原因是,如果您手动更改 URL 并按回车键,则会导致页面重新加载(这会导致 Ember 应用程序重新初始化)。要在路由之间无缝转换(无需 flicker/page 重新加载),您需要使用 Ember 的 {{link-to}}
helper. The {{link-to}}
帮助程序不会导致页面重新加载,只会转换到新路由,这与更改不同URL 手动。
在 controller
或 router
上下文中还有其他方法可以这样做。主要是 Route#transitionTo
和 Controller#transitionToRoute
.
在 Ember 应用程序中进行路由时,您应该始终使用上述方法之一。确保您不使用 <a>
标签或更改 window.location
。这些方法会起作用,但会在重新获取和初始化 Ember 应用程序时引起明显的闪烁。
事实上,watchman
是一个可选的升级,可以提高 takes/the 检测文件更改的可靠性。它不应该影响您描述的闪烁。
我目前正在阅读 Ember 2.13 的 getting started 指南。
我已经开始添加我的第一条路线:/scientists
路线。我很担心,因为当我进入那个 URL 时,屏幕会闪烁,我没想到这种基本的 SPA 会发生这种情况。
我添加了 link here,展示了更改 URLs 时的闪烁。
我对 Chrome 中的重绘有什么误解吗?因为在 Safari 中它似乎工作正常。但我倾向于认为这是因为一些 Safari 优化而不是 Ember 在 Safari 中而不是 Chrome。
我正在使用 ember serve
命令。它还说 watchman
没有安装,但因为那只是为了发现文件更改,我认为它不会影响这个。
它闪烁的原因是,如果您手动更改 URL 并按回车键,则会导致页面重新加载(这会导致 Ember 应用程序重新初始化)。要在路由之间无缝转换(无需 flicker/page 重新加载),您需要使用 Ember 的 {{link-to}}
helper. The {{link-to}}
帮助程序不会导致页面重新加载,只会转换到新路由,这与更改不同URL 手动。
在 controller
或 router
上下文中还有其他方法可以这样做。主要是 Route#transitionTo
和 Controller#transitionToRoute
.
在 Ember 应用程序中进行路由时,您应该始终使用上述方法之一。确保您不使用 <a>
标签或更改 window.location
。这些方法会起作用,但会在重新获取和初始化 Ember 应用程序时引起明显的闪烁。
事实上,watchman
是一个可选的升级,可以提高 takes/the 检测文件更改的可靠性。它不应该影响您描述的闪烁。