我在同一个 ts 文件中创建了两个组件,如下所示。引用来自https://material.angular.io/components/dialog/examples的示例代码,它使用相同的方法。
import { Component, OnInit, Inject } from '@angular/core';
import { MatDialogModule, MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
@Component({
selector: 'app-srapi',
templateUrl: './srapi.component.html',
styleUrls: ['./srapi.component.scss']
})
export class SrapiComponent {
constructor(private dialog: MatDialog) { }
onCreate(): void {
const dialogRef = this.dialog.open(SrapiTFLFormComponent);
}
}
@Component({
selector: 'app-srapi-tfl-form',
templateUrl: './srapi-tfl-form.html'
})
export class SrapiTFLFormComponent{
constructor(public dialogRef: MatDialogRef<SrapiTFLFormComponent>) {}
}
Run Code Online (Sandbox Code Playgroud)
还申报和进口了这两个 app.module.ts
import { SrapiComponent, SrapiTFLFormComponent } from './srapi/srapi.component';
@NgModule({
declarations: [
AppComponent,
LoginComponent,
HeaderComponent,
FooterComponent,
RegisterComponent,
EdcUserFormComponent,
SidebarComponent,
EdcMasterDataComponent,
SrapiComponent,
SrapiTFLFormComponent
],
imports: [
BrowserModule,
.
.
Run Code Online (Sandbox Code Playgroud)
但是在打开对话框时会出错。
错误 错误:找不到 SrapiTFLFormComponent 的组件工厂。你把它添加到@NgModule.entryComponents 了吗?在 noComponentFactoryError (core.js:15705)
pro*_*lic 26
在您app.module.ts添加以下代码中:
import { SrapiComponent, SrapiTFLFormComponent } from './srapi/srapi.component';
@NgModule({
declarations: [
AppComponent,
LoginComponent,
HeaderComponent,
FooterComponent,
RegisterComponent,
EdcUserFormComponent,
SidebarComponent,
EdcMasterDataComponent,
SrapiComponent,
SrapiTFLFormComponent
],
imports: [
BrowserModule,
.
.
],
entryComponents: [
SrapiTFLFormComponent
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40828 次 |
| 最近记录: |