ng2-translate: невозможно прочитать свойство subscribe для undefined на TranslatePipe.transform

Я использую ng2-translate в своем проекте Angular 5 и пытаюсь создать модульный тест для одного компонента. Я всегда импортирую TranslateModule.forRoot( *...* ) в свои тесты, и тесты будут работать с использованием канала перевода в моих представлениях.

Однако в двух случаях вышеупомянутая ошибка возникает во время модульных тестов: я не вижу никакой разницы с другими рабочими тестами.

× должен создать (44 мс) TypeError: невозможно прочитать свойство 'subscribe' неопределенного в TranslatePipe.transform (webpack: ///./node_modules/ng2-translate/src/translate.pipe.js?: 74: 75) в Object. eval [как updateRenderer] (ng: ///DynamicTestModule/MyComponent.ngfactory.js: 127: 70) в Object.debugUpdateRenderer [как updateRenderer] (webpack: ///./node_modules/@angular/core/esm5/core. js?: 14951: 21) в checkAndUpdateView (webpack: ///./node_modules/@angular/core/esm5/core.js?: 14065: 14)

Какие-нибудь причины, по которым это могло произойти? Я не использую TranslateService, но использую канал в шаблоне. Кто-нибудь сталкивался с такой же проблемой?


person Rias    schedule 27.04.2018    source источник
comment
Я заметил, что эта ошибка возникла на всех компонентах, где я использовал директиву translateParams.   -  person Jesse    schedule 14.10.2019


Ответы (1)


У меня была такая же проблема, и я добавил в макет TranslateService:

public onLangChange: EventEmitter<any> = new EventEmitter(); public onTranslationChange: EventEmitter<any> = new EventEmitter(); public onDefaultLangChange: EventEmitter<any> = new EventEmitter();

person Agata    schedule 03.05.2018
comment
все еще работает с angular 9.0.7 и ngx-translate 11.0.1 - person Argee; 19.03.2020
comment
Было бы неплохо увидеть весь ваш макет сервиса и то, как вы импортируете TranslateModule - person CularBytes; 14.07.2020
comment
Все еще сталкиваюсь с этой проблемой в 2020 году. Печально. - person GEMI; 23.11.2020