ES6 Aurelia 依赖注入混淆
ES6 Aurelia dependency injection confusion
根据我在博客上读到的内容,这是在 Aurelia 和 ES6 中进行 DI 的方法,但它不起作用。
diag.js:
export class Diag {
constructor(){
this.test = `success`;
}
}
testservice.js:
import {inject} from 'aurelia-framework';
import {Diag} from './diag';
@inject(Diag)
export class TestService{
constructor(diag){
console.log(diag);
}
}
>undefined.
在控制台中我只得到 'undefined'。但是,如果我在没有 DI 的情况下这样做,它工作正常:
import {Diag} from './diag';
export class TestService{
constructor(){
console.log(Diag);
}
}
因此,如果我在没有 DI 的情况下导入它,它会起作用,但是一旦我尝试像我在在线示例中看到的那样进行 DI,它就会告诉我 class 未定义。我很困惑。有帮助吗?
确保您正在使用依赖注入来获取 TestService
.
的实例
import {inject} from 'aurelia-framework';
import {TestService} from './test-service';
@inject(TestService)
export class App {
constructor(service) {
...
}
}
根据我在博客上读到的内容,这是在 Aurelia 和 ES6 中进行 DI 的方法,但它不起作用。
diag.js:
export class Diag {
constructor(){
this.test = `success`;
}
}
testservice.js:
import {inject} from 'aurelia-framework';
import {Diag} from './diag';
@inject(Diag)
export class TestService{
constructor(diag){
console.log(diag);
}
}
>undefined.
在控制台中我只得到 'undefined'。但是,如果我在没有 DI 的情况下这样做,它工作正常:
import {Diag} from './diag';
export class TestService{
constructor(){
console.log(Diag);
}
}
因此,如果我在没有 DI 的情况下导入它,它会起作用,但是一旦我尝试像我在在线示例中看到的那样进行 DI,它就会告诉我 class 未定义。我很困惑。有帮助吗?
确保您正在使用依赖注入来获取 TestService
.
import {inject} from 'aurelia-framework';
import {TestService} from './test-service';
@inject(TestService)
export class App {
constructor(service) {
...
}
}