aurelia 应用范围

Scopes in aurelia application

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

aurelia 中的范围是什么,我如何 put/remove 对象在 session/page/whatever 范围内,查看特定范围内的对象?

此致,尤金。

I've just tried aurelia's Get started application and noticed that when open in two browsers (chrome and ff) it keeps navigation in sync.

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

It looks like router instance resides in application scope. I didn't find anything about scopes in documentation so the question is what are the scopes in aurelia

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

how can I put/remove object in session/page/whatever scope, see what objects are in particular scope ?

你不太会检查哪些对象是活的。你让 Aurelia 聪明地处理它。相反,您向 Aurelia 询问您感兴趣的事情。每个 class 都可以通过各自的方法处理自己的激活和停用。

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

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