親と孫の間で2つの方法でバインドする必要があります。したがって、子と他の 2 つの間のバインドの双方向を行うようにします。
そう思う人もいる
孫 <==> 子 <==> 親
しかし、期待どおりには機能しません。
これは私の孫です:
<svg [class.small-size]="!isFullScreen" [class.full-screen]="isFullScreen">
<ng-content></ng-content>
</svg>
...
export class FullScreenableSvgComponent {
@Input() isFullScreen: Boolean;
@Output() isFullScreenChange: EventEmitter<Boolean>;
constructor() {
this.isFullScreen = this.isFullScreen || false;
this.isFullScreenChange = new EventEmitter<Boolean>();
}
...
}
これは私の子供です:
<fullscreenable-svg (window:resize)="onResize()" [(isFullScreen)]="isFullScreen">
...
</fullscreenable-svg>
export class VisualizationComponent implements OnChanges, OnInit {
@Input() isFullScreen: Boolean;
@Output() isFullScreenChange: EventEmitter<Boolean>;
constructor(private elementRef: ElementRef) {
this.isFullScreenChange = new EventEmitter<Boolean>();
}
...
}
これは私の親です:
<visualization [(isFullScreen)]="isFullScreen" [nodes]="[]" [links]="[]">
</visualization>
<div [hidden]="isFullScreen" style="position:absolute;">
i am working
</div>