如何覆盖角度材质2 datepicker的模板

时间:2018-04-13 17:44:55

标签: angular typescript override angular-material angular2-template

我需要修改角度2素材日期选择器的模板。它的模板在@ angular / material / esm5 / datepicker.es5.js中定义的几个内部组件中声明。

我可以直接在节点包中修改模板,但是在更新时它会被覆盖。

我能看到这种可能性的唯一两种方法是,如果我动态修改模板(这真的可能吗?),或者如果我在本地复制整个角度材料节点包然后修改它(什么是最好的方法)去做这个?)。想法?

2 个答案:

答案 0 :(得分:2)

你有两种方式:

  1. 创建一个扩展材质datepicker的新组件,并为您指定获胜模板
  2. 覆盖一些材质css规则以更改其外观

答案 1 :(得分:-2)

如果您查看mat-datepicker依赖项的体系结构/设计,则扩展不适用于此情况。我们使用的解决方案只涉及引用组件类型并为引用分配新模板:

let matCalendar: any = MatCalendar;
matCalendar.decorators[0].args[0].template ='...'