angular 8: прослушать событие на недоступном элементе

Я использую сторонний компонент для отображения своих организационных единиц в виде дерева, и я хочу прослушать событие щелчка по каждому элементу этого дерева и сделать что-то после этого события, но у меня нет доступа к этому элементу. единственное, что у меня есть:

    <mui-org-chart (itemClick)='showOuManagementDialog($event)' [topEmployee]="displayOuResult"
        direction="vertical"></mui-org-chart>

но я хочу изменить внутренний шаблон этого компонента, вы можете мне помочь, друзья?


person hosein    schedule 28.12.2019    source источник
comment
Что это за компонент? Это сторонняя библиотека?   -  person Hugo Noro    schedule 28.12.2019
comment
@HugoNoro да, это так   -  person hosein    schedule 28.12.2019
comment
В этом случае, если этот компонент не предоставляет события щелчка, у вас не так много вариантов. Что вы можете сделать, так это либо попытаться расширить компонент, либо проверить исходный код и реализовать свою собственную версию.   -  person Hugo Noro    schedule 28.12.2019
comment
не могли бы вы показать html, фактически сгенерированный компонентом? вы можете получить доступ к каждому элементу элемента и добавить событие click с помощью манипуляции с dom в файле .ts, как это сделал человек в этом ответе< /а>.   -  person Cicero    schedule 28.12.2019


Ответы (1)


Вам нужно зайти на GitHub и нажать кнопку fork, изменить библиотеку, чтобы она делала то, что вы хотите, собрать библиотеку и использовать свою модифицированную версию.

Библиотеку можно найти здесь:

https://github.com/ashishmondal/mondal-ui

Вот инструкции о том, как раскошелиться:

https://help.github.com/en/github/getting-started-with-github/fork-a-repo

После того, как вы изменили библиотеку, у вас есть три варианта:

  1. Сборка и npm связывают сборку с вашим собственным проектом.
  2. Переименуйте пакет npm, создайте и опубликуйте его в своей учетной записи npm, а затем используйте этот новый пакет.
  3. Протестируйте свои новые функции, а затем откройте запрос на вытягивание, чтобы внести свой вклад в исходный проект.

Вот учебник по ссылке npm:

https://medium.com/dailyjs/how-to-use-npm-link-7375b6219557

Вот документация по библиотекам Angular:

https://angular.io/guide/libraries

Вот документация npm по публикации:

https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry

Так устроен мир открытого исходного кода. Если вам чего-то не хватает, вы помогаете в проекте и добавляете новые функции.

person Reactgular    schedule 28.12.2019