亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何有條件地渲染 Angular 組件

如何有條件地渲染 Angular 組件

喵喔喔 2021-06-29 11:43:58
假設我的項目中有以下結構。它為每個客戶端提供一個模塊,用于聲明自定義組件和一個公共模塊,如果此客戶端沒有實現,則聲明默認組件。/company-module-a/register-form-screen/company-module-a/register-form-screen/part-1-form-component/company-module-a/register-form-screen/part-2-form-component/company-module-b/register-form-screen//company-module-b/register-form-screen/part-1-form-component/company-module-b/register-form-screen/part-4-form-component/common-module/register-form-screen//common-module/register-form-screen/part-1-form-component/common-module/register-form-screen/part-2-form-component/common-module/register-form-screen/part-3-form-component/common-module/register-form-screen/part-4-form-component我希望默認使用通用組件,然后使用公司組件,如果它具有相同名稱的組件,則使用公司組件,但在 Angular 中這是不可能的。另一種解決方案是在所有模塊中實現所有組件,如果公司模塊與普通模塊沒有區別,只需擴展它,然后通過路由導入模塊。是否有其他解決方案可以解決此結構問題,從而提高代碼重用性?公司模塊由當前認證用戶的公司名稱定義,保存在瀏覽器本地存儲中。
查看完整描述

1 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

由于組件選擇器在編譯時由 angular 編譯器解析,因此您需要一個結構指令來將組件解析推遲到運行時。

例如,您可以使用*ngIf*ngSwitch選擇要渲染的組件。

請注意,此方法要求捆綁所有組件,而不管在運行時實際使用哪些組件。如果您有很多組件,或者關心包的大小,那么為每個公司編譯單獨的包可能是更好的方法。


查看完整回答
反對 回復 2021-07-01
  • 1 回答
  • 0 關注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號