angular – 覆盖组件,如服务?
发布时间:2020-12-17 08:51:49 所属栏目:安全 来源:网络整理
导读:假设我们导入一个Angular Material模块: providers:[],imports : [MaterialInput] 在MaterialInput内部,有一个名为:MaterialInputComponent的组件 出于某些原因,我想用自己的方法覆盖该组件 所以我希望能够说: providers:[ { provide: MaterialInputCompo
|
假设我们导入一个Angular Material模块:
providers:[],imports : [MaterialInput] 在MaterialInput内部,有一个名为:MaterialInputComponent的组件 出于某些原因,我想用自己的方法覆盖该组件 所以我希望能够说: providers:[
{
provide: MaterialInputComponent,useClass : MyOwnInputComponent
}
],imports : [MaterialInputModule]
我知道我们可以覆盖这样的服务,但是它也可以用于组件或指令吗? 更新: 喜欢 : 如果这是MaterialInput组件背后的原始代码,它位于我的节点模块中. @Component({})
export class OriginalMaterialInputComonent{
greet(){ alert('Say Aloo'); }
}
我有一个类似的类: @Component({})
export class OverrideMaterialInputComonent{
greet(){ alert('Say yes we can'); } // overriden function
}
并且,假设我正在导入空洞MaterialInputModule declarations:[
{
provide: OriginalMaterialInputComonent,useClass : OverrideMaterialInputComonent
}
],imports : [MaterialInputModule]
那可行吗?
您可以使用装饰器,您可以查看下面的jsfiddle示例
Overriding components https://jsfiddle.net/mohan_rathour/sqv0jx21/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
