我刚刚尝试了aurelia的入门应用程序,并注意到在两个浏览器(chrome和ff)中打开时,它会保持导航同步。看起来路由器实例位于应用程序范围内。我没有在文档中找到有关范围的任何内容,所以问题是
aurelia中有哪些范围,如何在会话/页面/任何范围内放置/删除对象,查看特定范围内的对象是什么?
最好的问候,尤金。
答案 0 :(得分:13)
我刚刚尝试了aurelia的入门应用并注意到了这一点 当在两个浏览器(chrome和ff)中打开时,它会使导航保持同步。
gulp任务包括一个导航同步插件,可让您在多个浏览器中保持应用程序打开,并根据您在其他浏览器中的行为刷新每个浏览器。
看起来路由器实例驻留在应用程序范围内。我没有 在文档中找到关于范围的任何内容,所以问题是什么 是aurelia的范围
这取决于对象。通常,您可以创建它们。 Aurelia的所有不同部分通常作为es6类处理。您可以使用static metadata
方法来定义您的类应具有的范围。给它一个transient
注释将告诉Aurelia每次注入依赖项时都要实例化新版本。否则,默认的singleton
注释将指示Aurelia将对象实例化一次,将其保留在内存中,并根据请求注入相同的实例。
如何在会话/页面/任何范围内放置/删除对象,看看是什么 对象特别适用范围?
你没有那么多检查哪些物体还活着。你让Aurelia聪明地处理它。相反,你向Aurelia询问你感兴趣的事情。每个班级都可以通过相应的方法处理自己的激活和停用。
您可以在文档中详细了解这些主题: