Giả sử chúng tôi nhập khẩu một trong những module Chất liệu kiễu góc:Ghi đè các thành phần, như dịch vụ?
providers:[],
imports : [MaterialInput]
Bên MaterialInput
, có một thành phần sử dụng có tên là: MaterialInputComponent
Đối với một số lý do tôi muốn ghi đè lên thành phần đó với riêng tôi
Vì vậy, Tôi muốn có thể nói:
providers:[
{
provide: MaterialInputComponent,
useClass : MyOwnInputComponent
}
],
imports : [MaterialInputModule]
Tôi biết chúng tôi có thể ghi đè dịch vụ es như vậy, nhưng nó có thể được thực hiện cho các thành phần hoặc chỉ thị không?
CẬP NHẬT: tôi không tìm kiếm phần thừa kế, những gì tôi muốn là sử dụng cái gì đó như Material Module
nhưng đôi khi tôi muốn ghi đè lên một số của nó thành phần hành vi, giống như bạn làm với các dịch vụ.
Giống như:
Nếu đây là mã gốc đằng sau thành phần MaterialInput, nằm trong mô-đun nút của tôi.
@Component({})
export class OriginalMaterialInputComonent{
greet(){ alert('Say Aloo'); }
}
Và tôi có một lớp học tương tự như:
@Component({})
export class OverrideMaterialInputComonent{
greet(){ alert('Say yes we can'); } // overriden function
}
Và, nói rằng tôi đang nhập khẩu các MaterialInputModule lỗ
declarations:[
{
provide: OriginalMaterialInputComonent,
useClass : OverrideMaterialInputComonent
}
],
imports : [MaterialInputModule]
Có phải đó là doable?
Phiên bản nào của góc 2 bạn đang sử dụng? Thành phần thừa kế có sẵn với Angular 2.3 –