javascript - 惰性加载组件中的NG-ZORRO模态组件,关闭按钮销毁事件未触发
问题描述
我正在使用 Ng-zorro 在延迟加载的组件中显示自定义模式组件:
用于显示自定义模式的组件:
showArtistModal(artist: any): void {
this.modalService.create({
nzContent: ArtistModalComponent,
nzComponentParams: {
artist,
},
nzCentered: true,
// nzOnOk: () => new Promise((resolve) => setTimeout(resolve, 1000)),
// nzFooter: [
// {
// label: 'Close',
// shape: 'round',
// onClick: () => modal.destroy(),
// },
// {
// label: 'Confirm',
// type: 'primary',
// onClick: () => modal.destroy(),
// },
// ],
})}
自定义模态组件:
import { Component, Input } from '@angular/core';
import { NzModalRef } from 'ng-zorro-antd/modal';
@Component({
selector: 'app-artist-modal',
templateUrl: './artist-modal.component.html',
styleUrls: ['./artist-modal.component.scss'],
})
export class ArtistModalComponent {
@Input() artist;
constructor(private modal: NzModalRef) {}
destroyModal(): void {
this.modal.destroy();
}
}
模板:
<div>
<div *nzModalTitle>
{{artist.name}}
</div>
<div>
truc
</div>
<div *nzModalFooter>
<button nz-button nzType="primary" (click)="destroyModal()">Close</button>
</div>
</div>
共享模块:
import { NgModule } from '@angular/core';
// Components
import { ArtistModalComponent } from './artist-modal/artist-modal.component';
// NgZorro Components
import { NzGridModule } from 'ng-zorro-antd/grid';
import { NzCardModule } from 'ng-zorro-antd/card';
import { NzModalModule } from 'ng-zorro-antd/modal';
import { NzButtonModule } from 'ng-zorro-antd/button';
@NgModule({
imports: [NzCardModule, NzGridModule, NzModalModule, NzButtonModule],
exports: [
ArtistModalComponent,
NzCardModule,
NzGridModule,
NzModalModule,
NzButtonModule,
],
declarations: [ArtistModalComponent],
})
export class SharedModule {
constructor() {}
}
但是当它显示时我无法关闭模式,没有触发destroy()事件并且关闭按钮不起作用。我错过了什么吗?已经尝试移动与用于显示模式的组件相同的模块中的所有内容,但它仍然无法正常工作。我正在使用 Angular 12。
解决方案
推荐阅读
- node.js - 如何将公共 IP 上的 Angular 应用程序连接到本地服务器上的节点应用程序?
- d3.js - WebGL Canvas 上的交互性 - PIXI + D3
- android - PopupWindow 的 showAtLocation() 中指定的 x/y 偏移量在哪个维度?
- reactjs - 重新匹配 redux 传递的有效负载
- javascript - 锐利的aws lambda中调整图像大小的动态内容
- python - Python:从 DataFrame 中的两列创建结构化 numpy 结构化数组
- ios - Swift 4:UIView 子类化,获取父视图
- angular - 无法在 asp.net core angular 中将值从角度服务发布到 Web API
- sql-server - MSSQL-Query:如果列中的所有值都为空,则返回结果
- rabbitmq - 如何使用 Spring Cloud Stream binder 发送优先级消息