RC1에서 RC2로 업데이트되었고 "이 확인 된 후에 표현식이 변경되었습니다"라는이 비밀스러운 메시지가 나타납니다. 코드는 매우 간단합니다.
상위 구성 요소에는 두 개의 자식 "sister"와 "brother"가 있습니다. init 직후에 자매는 부모의 변수에 할당 된 이벤트를 내고 동생의 Input()
속성은 동일한 변수에 바인딩됩니다. 부모의 변수를 사용하는 형제 컴포넌트 간의 "클래식"통신이라고 생각합니다.
이전에는 RC1에서는 작동했지만 RC2에서는 작동하지 않았습니다. CHANGELOG.md를 확인했지만 단서를 찾지 못했습니다. 내가 도대체 뭘 잘못하고있는 겁니까? http://plnkr.co/edit/HMPAbImpWWeZrVjHyb6H?p=previewAngular2 RC2 표현식이 점검 된 후 변경되었습니다.
import { Component, Input, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'brother',
template:'<h2>Brother has {{present}}</h2>'
})
export class Brother{
@Input() present: string;
}
@Component({
selector: 'sister',
template:'<h2>Sister has {{_present}}</h2>'
})
export class Sister{
@Output() present: EventEmitter<string> = new EventEmitter;
public _present: string = 'something';
ngOnInit(){
this.present.emit(this._present);
}
}
@Component({
selector: 'my-app',
template: `
<div class="container">
<h2>Parent has {{present}}</h2>
<brother [present]="present"></brother>
<sister (present)="present=$event"></sister>
</div>
`,
directives:[Brother,Sister]
})
export class AppComponent {
public present: string;
}
Magic. 내 문제가 사라진다. 싱크/비동기에 관한 더 많은 정보를 알려주십시오. –