根据我在博客上看到的内容,以下是您在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.
在控制台中我只得到'未定义'。但是,如果我在没有DI的情况下这样做,它可以正常工作:
import {Diag} from './diag';
export class TestService{
constructor(){
console.log(Diag);
}
}
因此,如果我导入它没有DI它可以工作,但是一旦我尝试做DI,就像我在网上的例子中看到的那样,它告诉我该类是未定义的。我很困惑。有什么帮助吗?
答案 0 :(得分:1)
确保使用依赖注入来获取TestService
的实例。
import {inject} from 'aurelia-framework';
import {TestService} from './test-service';
@inject(TestService)
export class App {
constructor(service) {
...
}
}