2016-10-06 1 views
0

У меня есть два угловых 1,5 компонента: вкладки и вкладка. Компонент вкладки требует контроллера компонента табуляции, чтобы последний мог управлять активным состоянием компонентов вкладки. Вот код (в машинописи):Не удается обновить угловой компонент 1,5, который требует, чтобы другой контроллер был угловым 2

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); 
    }; 
} 

Когда я попытался обновить эти два компонента к угловому 2 с UpgradeAdapter, родителя в TabController никогда не будет решена, и я получаю «неопределенные не имеет функцию«addTab '" сообщение об ошибке.

+0

Можете ли вы поместить весь код? Я пытаюсь, но у меня есть Ошибка: [$ compile: ctreq] Контроллер «TabsComponent», требуемый директивой «вкладка», не может быть найден! – fechidal89

ответ

0

Похоже, что это не понимает this.parent. Я не совсем понимаю ваш подход, но я бы указал дочерние компоненты в шаблоне родителя.

+0

Компоненты отлично работали с угловым 1,5. Есть только проблемы с угловыми 2. –