2016-11-21 3 views
1

Я использую угловой модуль 2 bootstrap 4.ng-bootstrap popover не закрывается, а слегка переписывается

Я хочу показать элемент popover с кнопкой «Да» и «Нет», чтобы удалить что-либо.

Когда я нажимаю кнопку «Нет», popover должен закрываться.

Это не происходит вместо этого поповер переставляет slighty как если он будет повторно инициализирован ...

Я понятия не имею, Что происходит.

Любой может помочь?

<button[ngbPopover]="popContent" popoverTitle="You really wanna delete this item?">Delete</button> 

<template #popContent> 
    <div class="btn-group"> 
     <button (click)="delete(s.id)">Yes</button> 
     <button (click)="popContent.close()">No</button> 
    </div> 
</template> 

ответ

2

Вы должны указать атрибут triggers с manual значением на popover элемент, который сделает поповер, чтобы открыть на ручное событие. По умолчанию триггер установлен на click.

Markup

<button [ngbPopover]="popContent" 
    triggers="manual" 
    #p="ngbPopover" 
    (click)="p.toggle()" 
    popoverTitle="You really wanna delete item?"> 
    Delete 
</button> 

<template #popContent> 
    <div class="btn-group"> 
     <button (click)="delete(s.id)">Yes</button> 
     <button (click)="p.close()">No</button> 
    </div> 
</template> 

Demo Plunkr

+0

Я сделал, что спусковые = "ручной" и (нажмите) = "p.toggle()" # р = [ngbPopover] = "popContent "ngbPopover" «теперь кнопка« Удалить »переключается, но кнопка« Нет »не закрывает popover! хотя локальная ссылка кажется правильной. Я не вижу ошибки в консоли, нажав кнопку «Нет». Это плохой API ... Возможно, вообще невозможно закрыть popover из шаблона-тега? Я не могу найти такой случай использования здесь: https://ng-bootstrap.github.io/#/components/popover – Elisabeth

+0

Вместо этого попробуйте 'p.close'. Вчера я сделал эту работу –

+0

Не работает! Я делаю p.close(). p.close не имеет смысла, если close является функцией. Кажется, я не могу ссылаться на экземпляр popover из этого шаблона #popContent. Я попробовал (click) = "p.close()" и (click) = "popContent.close()" оба работают не. Я получаю сообщение об ошибке: EXCEPTION: self.parent._TemplateRef_56_4.close не является функцией – Elisabeth