обновить компонент @Input в определенном состоянии - PullRequest
0 голосов
/ 12 марта 2020

Привет, я использую этот компонент из https://www.npmjs.com/package/ngx-contextmenu. Чтобы сделать его более обобщенным c, я обернул этот ContextMenuComponent и создал свой собственный GenericContextMenuComponent , который расширяет ContextMenuComponent и имеет меню @Input: IContextMenu [] (мой собственный интерфейс параметров) . У этого есть опции, которые помещены в контекстное меню. Этот вход отправляется, когда я использую GenericContextMenuComponent . Я хочу иметь функциональность правой кнопки мыши, с контекстным меню, которое открывает опцию меню в соответствии с отправленным @Input. Я использую этот универсальный c компонент в двух местах, с разными опциями. Проблема заключается в том, что @Input обновляется дважды (в зависимости от количества созданных компонентов), а параметры меню @Input переопределяются последним компонентом, отправляющим @Input, даже до открытия контекстного меню. В результате, каждый раз, когда я открываю контекстное меню, оно показывает одни и те же параметры - параметры последнего компонента, отправившего этот @Input. Как я могу обновить этот вход только тогда, когда я открою контекстное меню или, возможно, изменить его, когда меню открыто? Моя цель - каждый раз открывать контекстное меню, чтобы получить правильные параметры. Происходит следующее:

<GenericContextMenu [menu]="menuOne">

где-то еще:

<GenericContextMenu [menu]="menuTwo">

Я всегда получаю опции menuTwo ...

...