@@ -21,7 +21,7 @@ import { NzConfigKey, WithConfig } from 'ng-zorro-antd/core/config';
2121import { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation' ;
2222import { NzOutletModule } from 'ng-zorro-antd/core/outlet' ;
2323import { NzOverlayModule } from 'ng-zorro-antd/core/overlay' ;
24- import { NgStyleInterface , NzTSType } from 'ng-zorro-antd/core/types' ;
24+ import { NgStyleInterface , NzSafeAny , NzTSType } from 'ng-zorro-antd/core/types' ;
2525import {
2626 NzToolTipComponent ,
2727 NzTooltipBaseDirective ,
@@ -45,7 +45,9 @@ export class NzPopoverDirective extends NzTooltipBaseDirective {
4545 /* eslint-disable @angular-eslint/no-input-rename, @angular-eslint/no-output-rename */
4646 @Input ( { alias : 'nzPopoverArrowPointAtCenter' , transform : booleanAttribute } ) override arrowPointAtCenter ?: boolean ;
4747 @Input ( 'nzPopoverTitle' ) override title ?: NzTSType ;
48+ @Input ( 'nzPopoverTitleContext' ) titleContext ?: NzSafeAny | null = null ;
4849 @Input ( 'nzPopoverContent' ) override content ?: NzTSType ;
50+ @Input ( 'nzPopoverContentContext' ) contentContext ?: NzSafeAny | null = null ;
4951 @Input ( 'nz-popover' ) override directiveTitle ?: NzTSType | null ;
5052 @Input ( 'nzPopoverTrigger' ) override trigger ?: NzTooltipTrigger = 'hover' ;
5153 @Input ( 'nzPopoverPlacement' ) override placement ?: string | string [ ] = 'top' ;
@@ -66,6 +68,8 @@ export class NzPopoverDirective extends NzTooltipBaseDirective {
6668 protected override getProxyPropertyMap ( ) : PropertyMapping {
6769 return {
6870 nzPopoverBackdrop : [ 'nzBackdrop' , ( ) => this . nzPopoverBackdrop ] ,
71+ titleContext : [ 'nzTitleContext' , ( ) => this . titleContext ] ,
72+ contentContext : [ 'nzContentContext' , ( ) => this . contentContext ] ,
6973 ...super . getProxyPropertyMap ( )
7074 } ;
7175 }
@@ -114,11 +118,15 @@ export class NzPopoverDirective extends NzTooltipBaseDirective {
114118 <div>
115119 @if (nzTitle) {
116120 <div class="ant-popover-title">
117- <ng-container *nzStringTemplateOutlet="nzTitle">{{ nzTitle }}</ng-container>
121+ <ng-container *nzStringTemplateOutlet="nzTitle; context: { $implicit: nzTitleContext }">
122+ {{ nzTitle }}
123+ </ng-container>
118124 </div>
119125 }
120126 <div class="ant-popover-inner-content">
121- <ng-container *nzStringTemplateOutlet="nzContent">{{ nzContent }}</ng-container>
127+ <ng-container *nzStringTemplateOutlet="nzContent; context: { $implicit: nzContentContext }">
128+ {{ nzContent }}
129+ </ng-container>
122130 </div>
123131 </div>
124132 </div>
@@ -130,6 +138,7 @@ export class NzPopoverDirective extends NzTooltipBaseDirective {
130138} )
131139export class NzPopoverComponent extends NzToolTipComponent {
132140 override _prefix = 'ant-popover' ;
141+ nzContentContext : object | null = null ;
133142
134143 get hasBackdrop ( ) : boolean {
135144 return this . nzTrigger === 'click' ? this . nzBackdrop : false ;
0 commit comments