不要在组件中使用controllerAs

时间:2017-11-25 14:28:38

标签: angularjs components controlleras

我对组件的创建方式做了一些修改。

代码如下:

  1. 问题是为什么我应该定义var navbar = this; pose类ComponentCtrl如果我已经定义了controllerAs:' navbar' ?
  2. 第二个问题是这样的,如果我用这种方式编写了控制器,总是应该定义变量pose class ComponentCtrl来变量全局吗?

    (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 个答案:

没有答案