Функция стрелки в angular html - PullRequest
1 голос
/ 17 марта 2020

Интересно, возможно ли использовать функцию стрелки в таком компоненте, как в Angular

<app-child [showItemCondition]="item => item.isVisible" [list]="items"></app-child>

Ответы [ 2 ]

0 голосов
/ 17 марта 2020

Никакие функции не могут быть определены в шаблонах. Чтобы сделать это возможным, нам нужно проверить этот код в режиме компиляции JIT.

Запрет на использование функции со стрелкой позволяет избавиться от ненужного кода (DRY и KISS) и в результате s:

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

Если вам нужна функция, она должна быть определена как метод класса компонента. Это может быть обычная или стрелочная функция.

0 голосов
/ 17 марта 2020

Вы можете сделать это для того, чтобы настроить поведение ChildComponent, если обратный вызов не имеет ссылки на родителя. В этом случае вам следует реорганизовать ваш код с помощью @Output().

. Однако вы не можете объявить функцию внутри шаблона, поэтому вам нужно назначить ее в переменной родительского объекта и передать эту переменную в ребенок. Функция также должна быть объявлена ​​как функция classi c (не стрелка), в противном случае this будет ссылаться на родителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...