Матовый диалог не отображается должным образом при использовании в пользовательских элементах

Я пытаюсь использовать mat-dialog в моем пользовательском элементе angular. Я отлично работаю в приложении angular, но не могу связать тему материала при создании пользовательского элемента.

Когда я проверяю код вне приложения angular, ни к одному классу cdk не привязан стиль. Кажется, все работает нормально при работе на сервере angular. Как включить необходимый CSS в настраиваемый элемент?

Мой файл app.module

@NgModule({
  [ ...
   MatFormFieldModule,
   MatIconModule,
   MatSelectModule,
   MatInputModule,
   MatDialogModule,
  ...
 ],
  providers: [ConnectBackendService],
  entryComponents: [AppComponent, PopupComponent]
})
export class AppModule {
  constructor(private injector: Injector) {
    const el = createCustomElement(AppComponent, { injector });
    customElements.define('my-element', <Function>el);
  }

 ngDoBootstrap() {}
}

и мой файл styles.css

@import "~@angular/material/prebuilt-themes/indigo-pink.css";

Мой диалог должен иметь абсолютное позиционирование, должен быть выровнен по центру окна и должен иметь фон. В настоящее время ничего из этого не применимо к диалоговому окну.


person cozmik05    schedule 28.12.2018    source источник
comment
вы можете добавить образец Slackblitz?   -  person Akhi Akl    schedule 28.12.2018
comment
нашел причину. Оказывается, style.css не является частью сборки с element, он работал, когда я вручную ссылался на тот, который находится в папке dist. Кто-нибудь знает, как я могу объединить style.js с моим файлом js пользовательского элемента? Или это плохая идея. Спасибо   -  person cozmik05    schedule 28.12.2018
comment
Исправлено, перейдя в файл angular.json, изменив свойство extractCss на false и добавив styles.js для сборки файлов.   -  person cozmik05    schedule 28.12.2018


Ответы (2)


У меня была такая же проблема, и я сообщил об этом в Google на их странице GitHub для компонентов Angular. Теперь он помечен Google как "Проблема с низким приоритетом, которую необходимо решить".

https://github.com/angular/components/issues/15968

Просто сообщаю вам и всем, кто видит эту тему, чтобы они могли найти возможное будущее исправление в моем сообщении на github, когда / если Google исправит эту проблему.

person Turbolego    schedule 09.05.2019

Исправлено, перейдя в angular.json файл, изменив свойство extractCss на false и добавив styles.js для сборки файлов.

person cozmik05    schedule 02.12.2020