我想創建一個父類(Event),它將處理四個孩子(投票事件,視圖事件,我的事件,我的票)的DOM。從父項繼承選擇器
這個想法將是一個唯一的HTML,一個父級Compoment和4個子組件,它將覆蓋一些父級方法。這是典型的多態情況。
總之,我有一個父組件:
@Component({
selector: 'app-events',
templateUrl: './events.component.html',
styleUrls: ['./events.component.css']
})
export abstract class EventsComponent implements OnInit{
constructor() {};
ngOnInit() {
this.test();
}
abstract test();
}
父HTML:
<div id="main">
<div class="container pad-top">
<div class="row">
<div class="col-xs-12 nopadding text-center">
<a [routerLink]="['/events/vote-events']"><img class="img-responsive sin-looks-votacion"
src="assets/images/no-tienes-votaciones.jpg"></a>
</div>
</div>
</div>
而且我想這樣做:
子組件:
export class MyVotesComponent extends EventsComponent {
private potato;
constructor() {
super();
}
test() {
console.log("Testttttttttttt");
}
}
子html:
<app-events></app-events>
的事情是,我不得不從events.module.ts
聲明刪除EventsComponent。現在瀏覽器會拋出:
'app-events' is not a known element:
最後一個問題是:這是最好的方法嗎?如果不是,會是什麼?我應該讀什麼?如果這確實是最好的方法,我錯過了什麼?
在此先感謝。
一切順利,
亞歷
爲什麼要擴展組件? – Aravind
我不是100%以下...也許是'ng-content'或'@ ContentChildren'的用例嗎? – Jeff
@Aravind我想擴展父組件,以避免子組件中的重複代碼。 @Jeff請你再詳細說明一下嗎? 「@ ContentChildren」或「ng-content」會做什麼。謝謝! – abullrich