事实上,
@ngbPopover
只有在
open
方法被调用。
您可以这样修改代码。其思想是必须在设置值之前关闭Popover,然后重新打开。
HTML
<input (keyup)="onTextChange($event)" type="text" class="form-control" id="fontFamilyHeader" aria-describedby="fontFamilyHeader" placeholder="Enter font family">
<button class="btn btn-primary" ngbPopover #a="ngbPopover">Click me </button>
TS
import {Component, ViewChild, Input} from '@angular/core';
@Component({
selector: 'ngbd-popover-triggers',
templateUrl: 'src/popover-triggers.html'
})
export class NgbdPopoverTriggers {
@ViewChild('a') public a:NgbPopover;
public onTextChange(event: any) {
const isOpen = this.a.isOpen();
if(isOpen)
{
this.a.close();
}
this.a.ngbPopover= event.target.value;
this.a.open(event.target.value);
}
}