在一個應用程式中有一些不同的組件,它們使用相同的 url 參考一個通用模板:
@Component({
selector: 'JG-Percentage',
templateUrl: '../../../../htmlStructure/htmlBaseTemplate/TemplateVarlist.component.svg',
styleUrls: ['./Percentage.component.sass']
})
到目前為止一切順利,也通過使用角度雙向系結:[(ngModel)]='variable.varLabel'.
但是現在在某些組件上需要一些額外的小 html 代碼,也帶有角度雙向系結: [(ngModel)]='variable.inputStr'.
如何將這個添加的 html 代碼注入到通用模板中?或者兩個html檔案可以一起關聯到一個組件?
感謝幫助。
該示例顯示在https://angulartool.de
uj5u.com熱心網友回復:
如何將這個添加的 html 代碼注入到通用模板中?...
您可以添加*ngIf="isCustom"額外的 HTML 并根據需要[(ngModel)]在內部使用。然后在所有使用同一個 HTML 模板檔案的 Typescript 組件類中,您可以擁有用于isCustom(或任何變數名稱)的布爾屬性。isCustom對使用附加 HTML 的組件類為 true,對不使用的組件類為 false。
如果您[(ngModel)]直接在附加的 HTML 上使用,并且如果 Angular 抱怨您不能ngModel與 with 一起使用*ngIf(就像 的情況一樣*ngFor),您可以將這個附加的 HTML 包裝在 an 中ng-container并添加*ngIf到那里。
<ng-container *ngIf="isCustom">
<div [(ngModel)]="variable.inputStr">additional HTML</div>
</ng-container>
...或者兩個 html 檔案可以與一個組件相關聯嗎?
一個 Typescript 組件類只能有一個HTML 檔案。兩個 HTML 檔案不能鏈接到同一個 typescript 組件類。(盡管樣式并非如此。一個組件類可以有多個樣式檔案)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/479661.html
