Tôi hiện đang nhập một thành phần của bên thứ ba. Đối với trường hợp sử dụng của tôi, tôi cần ghi đè mẫu thành phần cụ thể đó.Ghi đè/mở rộng mẫu của thành phần bên thứ ba
Vì đây là thành phần của bên thứ ba và được nhập qua gói npm, tôi không muốn thay đổi thành phần nên tôi không phải cập nhật nó mỗi lần gói được cập nhật.
Có cách nào để ghi đè mẫu của thành phần khác không?
Tôi biết bạn có thể sử dụng <ng-content>
nếu bạn muốn tiêm một số phần tử. Nhưng đây không phải là khả thi.
Các html là một cái gì đó như thế này:
<third-party-component [items]="items" [example]="example">
Bộ điều khiển là một cái gì đó như thế này:
import {THIRD_PARTY_DIRECTIVES} from 'ng2-select/ng2-select';
@Component({
selector: 'example-component',
directives: [THIRD_PARTY_DIRECTIVES]
})
export class Example {
private items: Array<string> = [
'whatever', 'whatever2', 'whatever3'
];
}
Có cách nào tôi có thể xác định các mẫu tôi muốn cho <third-party-component>
mà không cần chỉnh sửa mà thành phần cụ thể tờ khai? Hoặc thậm chí mở rộng nó chỉ?
Cảm ơn bạn đã nỗ lực. Tôi đã tìm ra một giải pháp đơn giản bằng cách chỉ mở rộng lớp học. Kiểm tra câu trả lời của tôi. –
@JoelAlmeida Hoạt động độc đáo, tôi sẽ ghi nhớ (; Giải pháp tốt hơn so với những gì tôi cung cấp, nhưng tôi đoán Siêu dữ liệu phản chiếu có thể được sử dụng nếu bạn không có quyền truy cập vào tệp TS ... – Sasxa
Tôi đồng ý. đoán Reflect là giải pháp duy nhất nếu bạn không có quyền truy cập vào lớp –