Angular 角度材质中的日期选择器(角度5)

Angular 角度材质中的日期选择器(角度5),angular,Angular,我正在使用角度材质的Datepicker我想向Datepicker添加一些基本的自定义css类,并修改Datepicker的现有类我在google chrome开发者工具上添加了类,它反映了更改,但当我添加到我的组件css文件时,它并不反映更改。例如,我在中使用DatepickerRegisterComponent如果我将自定义css类应用于RegisterComponent.css文件中的日期选择器,则它不会反映更改。请帮助我如何实现这一点以设置日期选择器的样式。我使用的是Angular 5。

我正在使用角度材质的Datepicker我想向Datepicker添加一些基本的自定义css类,并修改Datepicker的现有类我在google chrome开发者工具上添加了类,它反映了更改,但当我添加到我的组件css文件时,它并不反映更改。例如,我在中使用DatepickerRegisterComponent如果我将自定义css类应用于RegisterComponent.css文件中的日期选择器,则它不会反映更改。请帮助我如何实现这一点以设置日期选择器的样式。我使用的是Angular 5。

此行为的根本原因是由于Angular component的视图封装,默认情况下,所有组件都是模拟的。为了解决这个问题,您可以根据您的需求使用以下方法

  • 将viewEncapsulation值更改为ViewEncapsultion。组件元数据中无,在上面的情况下,它将成为RegisterComponent的元数据,但缺点是每个全局样式都将渗入此组件样式
  • 在完成角度材质的基本设置(例如主题化)后,覆盖全局样式文件中的类,而不是组件样式,例如,如果其angular cli项目使用angular cli构建的global style.css

根据需要在组件css文件中编写类似的内容就可以了

 /deep/.mat-datepicker-toggle {
    background: url("/assets/icons/calendar.svg") no-repeat !important;
    position: absolute !important;
  }

指南中有一个相当复杂的使用“材料”的指南,甚至还有更复杂的角度特定解决方案指南。如果你只是想在短期内完成工作,那么很可能你只是想使用
!重要信息
css定义中的标记。