8

我刚刚尝试了 aurelia 的入门应用程序,并注意到当在两个浏览器(chrome 和 ff)中打开时,它会保持导航同步。看起来路由器实例驻留在应用程序范围内。我在文档中没有找到任何有关范围的信息,所以问题是

aurelia 中的范围是什么,如何在会话/页面/任何范围中放置/删除对象,查看特定范围内的对象?

最好的问候,尤金。

4

1 回答 1

13

我刚刚尝试了 aurelia 的入门应用程序,并注意到当在两个浏览器(chrome 和 ff)中打开时,它会保持导航同步。

gulp 任务包括一个导航同步插件,可让您在多个浏览器中保持应用程序打开,并根据您在其他浏览器中的行为刷新每个浏览器。

看起来路由器实例驻留在应用程序范围内。我在文档中没有找到任何有关范围的信息,所以问题是 aurelia 中的范围是什么

这取决于对象。通常,您创建它们。Aurelia 的所有不同部分通常都作为 es6 类处理。您可以使用该static metadata方法来定义您的类应该具有什么样的范围。给它一个transient注解将告诉 Aurelia 在每次注入依赖项时实例化新版本。否则,默认singleton注释将指示 Aurelia 将对象实例化一次,将其保存在内存中,并根据请求注入相同的实例化。

如何在会话/页面/任何范围内放置/删除对象,查看特定范围内的对象?

您并没有过多地检查哪些对象是活着的。你让 Aurelia 聪明地处理这件事。相反,您可以向 Aurelia 询问您感兴趣的事情。每个类都可以通过各自的方法处理自己的激活和停用。

您可以在文档中阅读有关这些主题的更多信息:

http://aurelia.io/hub.html#/doc/article/aurelia/dependency-injection/latest/dependency-injection-basics

于 2015-03-02T15:07:58.767 回答