我有一個組件「課程」。我用這個組件列表。該列表有時是水平的,有時是垂直的。我可以在模板文件的組件內選擇dynamicaly嗎?Angular - 組件不同的模板
@Component({
selector: 'course',
templateUrl: getTemplateFile()
})
類似的東西將是一個很棒的功能!
我有一個組件「課程」。我用這個組件列表。該列表有時是水平的,有時是垂直的。我可以在模板文件的組件內選擇dynamicaly嗎?Angular - 組件不同的模板
@Component({
selector: 'course',
templateUrl: getTemplateFile()
})
類似的東西將是一個很棒的功能!
我覺得這個教程是非常有幫助的
https://scotch.io/tutorials/component-inheritance-in-angular-2
您可以簡單地擴展您的基礎組件,並覆蓋模板。這使您可以擁有完全相同功能的不同組件,但具有不同的模板。
當然,由於角4,有一個* ngIf/else指令。您可以切換模板是這樣的:
<div *ngIf="isHorizontal; else verticalTemplate">
<span>horizontal</span>
</div>
<ng-template #verticalTemplate>
<span>vertical</span>
</ng-template>
我想,要根據屏幕寬度的水平和垂直佈局之間切換。所以看看https://github.com/angular/flex-layout,它包含一個ObservableMedia-Service。
水平和垂直只是我的一個例子。我的問題的主要目的是我希望我的組件有2個不同的模板文件,並選擇我想要使用的模板文件。我不想用所有不同的模板加載模板文件。 – Michalis
你在使用角度cli嗎? –
是的。我使用angular-cli – Michalis