Aurelia-注入功能

时间:2017-11-10 11:53:42

标签: aurelia aurelia-framework

在我的Aurelia SPA中,我有一些我想在不同模块中使用的功能。它依赖于调用时给出的参数和单例的参数。有没有办法创建一个导出函数,我可以注入我的Auth单例,而不必每次调用函数时都将它作为参数传递? 我希望它看起来像一个简单的例子。

import Auth from './auth/storage';
import { inject } from 'aurelia-framework';

@inject(Auth)
export function A(foo: boolean): boolean {
    let auth = Auth;
    if (auth.authorized && foo) {
        return true
    }
    else {
        return false
    }
}

我知道我可以将它包装在一个类中并使用它但想知道是否有任何方法可以实现它类似于此

1 个答案:

答案 0 :(得分:6)

如果要在函数中使用依赖项注入,请使用Container中的aurelia-dependency-injection

import Auth from './auth/storage';
import { Container } from 'aurelia-dependency-injection';

export function A(foo: boolean): boolean {
    let auth = Container.instance.get(Auth);
    if (auth.authorized && foo) {
        return true
    }
    else {
        return false
    }
}