gpt4 book ai didi

templates - EmberJS 加载子状态 : What logic does it use to climb the route hierarchy to find the loading template?

转载 作者:行者123 更新时间:2023-12-02 05:59:58 24 4
gpt4 key购买 nike

我正试图围绕 Ember 的加载子状态。根据指南...

http://emberjs.com/guides/routing/loading-and-error-substates/

...加载子状态将在解析模型时显示,如果当前路径不存在加载模板,它将爬上路径层次结构,直到找到“加载”模板。所以我定义了一个“加载”模板,但它并不总是显示。

这里有一个例子:

http://emberjs.jsbin.com/junop/2

首先,当页面加载时,即使正在解析 ApplicationRoute 的模型,加载模板也不会显示。然后,如果您转到“书籍”,将显示加载模板。所以从“index”到“books”总是会显示加载模板。但是他们去特定的“书”(例如我的例子中的三只小 pig )没有显示加载模板。最后,从“books”转到“book”不会显示加载模板,即使从“index”转到“books”也会显示。我无法理解这一切。 Ember 使用什么逻辑来爬升层次结构以显示加载模板?

最佳答案

有两个与加载相关的不同的事情。装载路线与装载 Action 。

每个至少有一个子资源(包括根,也就是应用程序路由)的资源都有一个加载路由。除非父资源已经被渲染,否则 Ember 不会到达加载路径。这意味着它对第一次加载不太有用,而对转换更有用。

http://jsbin.com/cajivava/5/edit

不用担心,有加载 Action !每次模型 Hook 需要一些时间来解决时,它都会向该路由发送一个 Action ,该 Action 将遍历路由器直到处理(或者如果您处理它,则返回 true,这会将其发送到树上)。这对于魔法加载或首次加载非常有用。请记住(我在这个例子中展示了,如果你不处理特定路径的加载操作,它将被传递给应用程序)。

http://jsbin.com/cajivava/6/edit

现在您可以将它破解到应用程序路由中的不同位置,因为它是一个只加载一次的特殊路由。如果您在开始时有一个长时间加载的应用程序,那么两者的混合通常是最好的计划。

http://jsbin.com/cajivava/4/edit

从导出的角度考虑过渡是最容易的。要渲染的部分已停止,因此将要渲染到的导出过渡到加载路线。完成后,它会导航到书籍索引。

在下面的示例中,尝试单击奶牛。这是一个深度为 2 的资源,并且书籍立即解析(中间的资源),但是转换在奶牛上停滞不前,所以我们将渲染所有新奇转换的导出到加载路线。

http://jsbin.com/buyaxipowi/1/edit

位于自己资源中的各个加载路径需要先解析资源本身,然后才能点击它的加载路径:

http://jsbin.com/niwerikuli/1/edit

关于templates - EmberJS 加载子状态 : What logic does it use to climb the route hierarchy to find the loading template?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24397950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com