0
동적 구성 요소에서 var를 바인딩하려하지만이 var가 부모에서 변경되면 다음과 같이 고정 된 구성 요소에 var를 바인드 할 때 변경 사항이 하위 구성 요소에 도착하지 않습니다.각도 2 : 동적 구성 요소에 var를 바인딩 할 수 있습니까?
<child-component [myVar]="myVar"><child-component>
나는 다음과 같은 속성 인스턴스를 사용하여 할 노력하고있어,하지만이 작동하지 않습니다, 그것은 단지 원래의 값을 전달하지만 아니에요 변경 : 나는 Plunker을 만들었습니다
this.componentRef.instance.myVar = this.myVar;
예 : Example in Plunker. 루트 수준에서이 서비스를 주입 한 후 다음
import { Injectable } from '@angular/core';
import {Subject} from 'rxjs/Subject';
@Injectable()
export class ViewToggleService {
leftVisible:boolean=true;
// Observable boolean source
private leftVisibleSource = new Subject<boolean>();
// Observable boolean stream
leftVisibleStream$=this.leftVisibleSource.asObservable();
constructor(){
}
// service command
toggleView(viewName:string){
if(viewName.toString()==='leftVisible'){
this.leftVisible=!this.leftVisible;
this.leftVisibleSource.next(this.leftVisible);
}
}
}
:
변경 사항도 전달해야합니다. 동적 구성 요소가 구독 할 수있는 관찰 가능 항목을 전달하여 변경 사항에 대한 알림을받을 수 있습니다. –
수동 업데이트를 처리 할 수 있다면'changeSelection' 메소드의 끝에'this.componentRef.instance.selection = this.selection; '을 넣으십시오. – lbrahim
감사합니다 @Ibrahim, 예를 들어 작동하지만 다른 구성 요소에서 var가 변경 될 수 있으므로 그렇게 할 수 없습니다. – ChristianGH