Не работает контроллер как в компоненте
Я внес некоторые изменения в способ создания компонента.
Код выглядит так:
- Вопрос в том, почему я должен определить var navbar = this; позировать класс ComponentCtrl Если я определил controllerAs: 'navbar'?
Второй вопрос: если я так написал контроллер, я всегда должен определять переменные, представляющие класс 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); })();