У меня есть два компонента в angular 2. ContainerOne и ContainerTwo.
ContainerOne ссылается на ContainerTwo, а ContinerTwo ссылается на ContainerOne в наших директивах:[]
Ошибка:
Uncaught (в обещании): неожиданное значение директивы «undefined» в представлении компонента «ContainerTwo»
Первый класс:
import {Component, Input} from 'angular2/core';
import {ContainerTwo} from './container-two';
@Component({
selector: 'container-one'
, template: '
<div *ngIf="level > 0"
style="width: {{level * 20}}px;
height: {{level * 20}}px;
background-color: red;">
<container-two [level]="level - 1"></container-two>
</div>'
, directives: [ContainerTwo]
})
export class ContainerOne {
@Input() level: number;
constructor() {
}
}
Второй класс:
import {Component, Input} from 'angular2/core';
import {ContainerOne} from './container-one';
@Component({
selector: 'container-two'
, template: '
<div *ngIf="level > 0"
style="width: {{level * 20}}px;
height: {{level * 20}}px;
background-color: blue;">
<container-one [level]="level - 1"></container-one>
</div>'
, directives: [ContainerOne]
})
export class ContainerTwo {
@Input() level: number;
constructor() {
}
}
app.ts:
import { Component } from 'angular2/core';
import {ContainerOne} from './container-one';
import {ContainerTwo} from './container-two';
@Component({
selector: 'app'
, template: '<container-one [level]="10"></container-one>'
, directives: [ContainerOne, ContainerTwo]
})
export class App {
constructor() {
}
}
(это скелет моей проблемы, настоящие контейнеры сложнее и не похожи) этот образец программы хочет нарисовать несколько div друг в друге, пока уровень > 0
В чем проблема? Может, опорный кружок? Есть идеи?