Не работает контроллер как в компоненте

Я внес некоторые изменения в способ создания компонента.

Код выглядит так:

  1. Вопрос в том, почему я должен определить var navbar = this; позировать класс ComponentCtrl Если я определил controllerAs: 'navbar'?
  2. Второй вопрос: если я так написал контроллер, я всегда должен определять переменные, представляющие класс ComponentCtrl, чтобы иметь переменную global??

    (function () {
    
     var navbar = this;
    
    class ComponentCtrl {
    constructor() { };
    
    
    $onInit() { 
      navbar.toggle = false;
    };
    
    
    activeMenu(name, $event) {
      console.log(name, navbar.toggle);
    
      if (navbar.toggle === true && navbar.name == name) {
        navbar.toggle = !navbar.toggle;
      }
      else if (navbar.toggle === false) {
        navbar.toggle = !navbar.toggle;
      }
      navbar.name = name;
    };
    };
    
    var MyComponent = {
    bindings: {
      user: '<'
    },
    controller: ComponentCtrl,
    controllerAs: 'navbar',
    templateUrl: '/navbar/index.html'
    };
    
    angular.module('app.navbar').component('navbar', MyComponent);
    })();
    

0 ответов

Другие вопросы по тегам