Aurelia 奥雷莉亚?

Aurelia 奥雷莉亚?,aurelia,Aurelia,如果我用一条inject语句注入模块,它就会工作。 如果我用三条inject语句注入模块,那么应用程序不会加载 我希望这两种方法是等效的 import {AuthService} from 'aurelia-auth'; import {bindable, inject, Aurelia} from 'aurelia-framework'; import {ValidationControllerFactory, ValidationController, Validat

如果我用一条inject语句注入模块,它就会工作。 如果我用三条inject语句注入模块,那么应用程序不会加载

我希望这两种方法是等效的

    import {AuthService} from 'aurelia-auth';
    import {bindable, inject, Aurelia} from 'aurelia-framework';
    import {ValidationControllerFactory, ValidationController, ValidationRules} from 'aurelia-validation';
    import {BootstrapFormRenderer} from './bootstrap-form-renderer';

    //Works
    //@inject(Aurelia, AuthService, ValidationControllerFactory)

    //Does not work
    @inject(Aurelia)
    @inject(AuthService)
    @inject(ValidationControllerFactory)

    export class Login {
      constructor(aurelia, authService, controllerFactory) {

您可以使用
static inject()
进行如下多次注入:

export class SampleModel {

    static inject() { return [DatabaseService, AuthService, EventAggregator]; }

    constructor(db, auth, events){
      this.db = db;
      this.auth = auth;
      this.events = events;
    }
}

您可以在aurelia中阅读有关依赖项注入的更多信息:

您可以使用
静态注入()
进行类似的多次注入:

export class SampleModel {

    static inject() { return [DatabaseService, AuthService, EventAggregator]; }

    constructor(db, auth, events){
      this.db = db;
      this.auth = auth;
      this.events = events;
    }
}

您可以在aurelia cheat shit中阅读有关依赖项注入的更多信息:

由于decorator的实现方式,对
注入
decorator的多次调用将不起作用。InjectDecorator所做的是在类上创建静态inject()函数。因此,对InjectDecorator的多次调用只会不断覆盖静态inject属性。

由于decorator的实现方式,对
Injection
decorator的多次调用将不起作用。InjectDecorator所做的是在类上创建静态inject()函数。因此,对注入装饰器的多次调用将继续覆盖静态注入属性。

好的,谢谢,所以多次注入是旧式的。是否有一个文档链接表明单次注入是可行的方法?@user905374,你可以在aurelia cheat shit中阅读关于注入的内容:多个
inject
decorators不是“旧式”,它们从来没有工作过。
inject
decorator所做的是在类上创建
static inject()
函数。因此,对
注入
装饰器的多次调用只会不断覆盖
静态注入
属性。@AshleyGrant太好了,这就是我要找的。如果你添加你的评论作为回答,我会接受。好的,谢谢,所以多重注入是老式的。是否有一个文档链接表明单次注入是可行的方法?@user905374,你可以在aurelia cheat shit中阅读关于注入的内容:多个
inject
decorators不是“旧式”,它们从来没有工作过。
inject
decorator所做的是在类上创建
static inject()
函数。因此,对
注入
装饰器的多次调用只会不断覆盖
静态注入
属性。@AshleyGrant太好了,这就是我要找的。如果你加上你的评论作为回答,我会接受的。