如何在Aurelia中写入全局变量?

Ale*_*sti 2 dependency-injection typescript aurelia

我正在写一个Aurelia应用程序,我在aurelia容器中注册了一个类的实例.现在,当我对用户进行身份验证时,必须修改该实例.如何在代码中的任何位置修改原始实例?

Mat*_*vis 17

如果要遵循依赖项注入模式,则需要将该实例注入任何想要修改实例的类.

import { inject } from 'aurelia-framework'
import { MyClass } from './my-class';

@inject(MyClass)
export class MyViewModel {
    constructor(MyClass) {
        this.myClass = MyClass;
    }
    somethingSpecial() {
        this.myClass.foo = 'bar';
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 如果答案是有帮助的,请投票并接受! (3认同)
  • 这是正确的答案.默认情况下,Aurelia的依赖注入将所有导入(自定义元素和属性除外)视为单例.您甚至可以进一步导入`Container`本身并使用它来从函数等获取类. (3认同)