gpt4 book ai didi

javascript - 如何在 Aurelia 的父类中注入(inject)?

转载 作者:数据小太阳 更新时间:2023-10-29 05:00:03 24 4
gpt4 key购买 nike

我有一个父类,我想在其中注入(inject)一些模块,然后我有一些派生类,我想在其中使用这些注入(inject)的模块。但是在派生类中你必须调用不带参数的super(),所以父类中的注入(inject)模块是未定义的。这是怎么做到的?

import {inject} from 'aurelia-framework';
import {HttpClient} from 'aurelia-http-client';

@inject (HttpClient)
export class Parent{
constructor(module){
//this constructor is called from derived class without parameters,
//so 'module' is undefined !!
this.injectedmodule = module;
}
}


export class ClassA extends Parent{
constructor(){
super();
this.injectedmodule.get() // injectedmodule is null !!!
}
}

最佳答案

好吧,刚刚找到解决方案,模块实际上是在派生类中注入(inject)并通过 super() 调用传递给父类:

import {inject} from 'aurelia-framework';
import {HttpClient} from 'aurelia-http-client';

@inject (HttpClient)
export class Parent{
constructor(module){
this.injectedmodule = module;
}
}


export class ClassA extends Parent{
constructor(module){
super(module);
this.injectedmodule.get() // ok !!!
}
}

关于javascript - 如何在 Aurelia 的父类中注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30094497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com