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

时间:2016-06-06 21:32:30

标签: dependency-injection typescript aurelia

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

2 个答案:

答案 0 :(得分: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';
    }
}

答案 1 :(得分:0)

  

如何从代码中的任何位置修改原始实例

最好将实例放在模块中。然后还公开修改实例的函数。 e.g。

let foo = {}

export function getFoo(){return foo}
export function setFoo(bar){ /* do something */}