в соответствии с тем, что я читал в блогах, вот как вы делаете DI в Aurelia и ES6, но это не работает.ES6 Aurelia зависимость путаницы инъекций
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, как я вижу в онлайн примерах он говорит мне, что класс не определено. Я очень смущен. Любая помощь?
Для меня это работает правильно, но я использую TypeScript с '@ autoinject'. Может быть, это что-то с транспилером? Кроме того, используете ли вы последнюю версию aurelia (бета)? – MikeSW
Это хороший момент Майка. Я использую бета-версию 1. Вчера они просто анонсировали бета-версию 2, и я должен ее скачать. Я просто обеспокоен тем, что что-то в Beta 2 может сломать мой код Beta 1, а затем у меня будет больше проблем для отладки. Наверное, я все время параноик в качестве разработчика MS. LOL – user441058
Исправление - вчера был только релиз патча, а не бета 2. – user441058