Компонент AngularJS: как избежать наблюдателей за неиспользованными привязками - PullRequest
0 голосов
/ 26 июня 2019

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

  angular
    .module('myModule')
    .component('component', {
      template: '',
      bindings: {
        code: '@',
        problemBinding: '<',
      },
      controller: componentController,
    });

Кажется, что каждая привязка < создает наблюдателя, несмотря на то, что большинство компонентов не используетproblem-binding аргумент в HTML.Это продемонстрировано в этом plunkr , где каждая новая < привязка создает столько наблюдателей, сколько повторяется компонент.

Есть ли способ использовать problemBinding, чтобы он создавал наблюдатель для компонента тогда и только тогда, когда используется аргумент?

Ответы [ 2 ]

1 голос
/ 27 июня 2019

Если большинство ваших компонентов не используют 'problemBinding', сделайте его необязательным, в противном случае он создаст отслеживание этой привязки, несмотря на использование. Может ссылаться на угловые документы.

1 голос
/ 26 июня 2019
  angular
    .module('myModule')
    .component('component', {
      template: '',
      bindings: {
        code: '@',
        problemBinding: '<?',
      },
      controller: componentController,
    });

Все 4 вида привязок (@, =, < и &) можно сделать необязательными, добавив ? к выражению. Маркер должен стоять после режима и перед именем атрибута.

Для получения дополнительной информации см.

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