Можете ли вы замкнуть $ onInit, чтобы он не рендерился? - PullRequest
0 голосов
/ 12 сентября 2018

Возможно ли замкнуть жизненный цикл внутри $onInit? Я хочу сделать так, чтобы мой компонент вообще не получал рендер, если не было выполнено определенное условие.

Попытка выяснить, смогу ли я уйти, не введя переменную, а затем использовать ng-if в шаблоне.

PS: Я довольно новичок в angularJS, так что не гневитесь слишком сильно, если то, что я спрашиваю, кажется WTF. Спасибо.

Edit:

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

Если я сделаю следующее:

class Base {
  constructor(...) {
    this.show = false;
  }
  $onInit() {
    this.show = (condition ? toShow : orNotToShow);
    // or
    //this.show = AServiceToCheckWhetherFeatureIsEnabled();
  }
}

Это означает, что мне придется перейти на один шаблон и поставить ng-if, мне интересно, есть ли более элегантный способ, чтобы мне не нужно было изменять все шаблоны.

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