Как использовать document.dir в сервисе пакета - PullRequest
0 голосов
/ 27 сентября 2019

Мне нужно установить язык и направление rtl & ltr.Таким образом, DOCUMENT вводят в службу, предоставляют службу в модуле ядра.

Наконец-то я получил пакет Bild и импортировал CoreModule в проект

CoreModule:

this._translateService.addLangs(supportLang);

this._translateService.setDefaultLang(defaultLang);
this._translateService.use(defaultLang).subscribe(res => {

            const dir = defaultLang === 'ar' ? 'rtl' : 'ltr';
            this._uiService.setDirection(dir);
            this._translateService.isCompleted();

});

UiService:

export class UiService {

        @NarikInject(DOCUMENT)
        document: Document;

        @NarikInject(Location)
        _location: Location;

        setDirection(dir: string) {
            this.document.dir = dir;
        }
    }

@ NarikInject в github

core.js: 6014 ОШИБКА TypeError: Невозможно установить для свойства 'dir' значение null

1 Ответ

0 голосов
/ 27 сентября 2019

Документ является нулевым к тому времени, когда вы пытаетесь назначить его свойство dir.Вместо этого попробуйте сделать это внутри ngOnInit.

Вам также необходимо проверить, устанавливаете ли вы каталог того же экземпляра службы, которым angular управляет

...