簡體   English   中英

對話框在角度材料中不起作用

[英]Dialog not working in angular material

我正在嘗試使用角度材料中的dialog 我正在嘗試實現頁面上給出的第一個示例: Angular Material Dialog URL這是上頁給出的示例的 Stackblitz URL: Angular 材料網站上提到的示例

我所做的唯一修改是將對話框組件移動到一個單獨的文件夾中。 但是對話框沒有正確打開,也沒有顯示數據。 這是我工作的 Stackblitz 鏈接:我的實現

我認為以某種方式沒有在對話框組件中傳遞數據。 但我無法弄清楚為什么。 任何幫助將不勝感激。

在您的 Stackblitz 中,單擊按鈕后控制台會顯示有用的錯誤消息:

ERROR
Error: No component factory found for DialogComponentComponent. Did you add it 
to @NgModule.entryComponents?

要解決此問題,您需要將對話框中顯示的組件添加到 app.module.ts(或 Stackblitz 中的 main.ts 文件)中的 entryComponents 集合中:

entryComponents: [DialogOverviewExample, DialogComponentComponent],

這是必需的,因為對話框中顯示的組件沒有通過組件的選擇器在模板中引用。 由於 Material 的對話框組件按類型引用了顯示的組件,Angular 需要知道這個組件仍然需要加載,而不是在編譯期間搖樹。 如果您有興趣,Angular 文檔會詳細介紹 entryComponents

在 main.ts 中也用 enrtyComponents 聲明它:

...
entryComponents: [DialogOverviewExample, DialogComponentComponent],
...

這里有詳細的解釋。

Angular 9 以上版本不需要 entryComponents。

我的問題只是打開對話框的按鈕中的href="#" 刪除了它,問題得到了解決。 道具都在這里了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM