无法将需要另一个控制器的角度1.5组件升级为角度2

时间:2016-10-06 20:51:50

标签: angular angular2-upgrade

我有两个1.5角组件:标签和标签。选项卡组件需要选项卡组件的控制器,因此后者可以管理选项卡组件的活动状态。这是代码(在typescript中):

class TabsComponent implements ng.IComponentOptions {
  public bindings: any;
  public controller: Function;  

  constructor() {
    this.bindings = {
      tabsClass: '@',
      onSelect: '&'
    };
    this.controller = TabsController;
   ...
  }
}

export class TabsController {
...
}

export class TabComponent implements ng.IComponentOptions {

  constructor() {
    this.require = {
      parent: '^TabsComponent'
    };
    ...
  }
}


export class TabController  { 
  public $onInit(): void {
    this.parent.addTab(this);
  };
}

当我尝试使用UpgradeAdapter将这两个组件升级为角度2时,TabController中的父组件永远不会被解析,我得到“未定义没有函数'addTab'”错误消息。

1 个答案:

答案 0 :(得分:0)

看起来它并不了解this.parent。我不太了解您的方法,但我会在父模板中指定子组件。