2017-02-02 2 views
6

데이터 구동 각도 응용 프로그램이 있습니다. 토글 된 상태로 전달하는 토글 구성 요소가 있습니다. 내 문제는 개체로 토글 부울을 전달하지 않으면 양방향 데이터 바인딩이 작동하지 않는 것입니다. EventEmitter를 사용하거나 변수를 객체에 전달하지 않고도 this가 작동하도록하려면 이 있습니까? 이것은 재사용 가능한 구성 요소이며 응용 프로그램은 데이터를 많이 사용하므로 값을 옵션이 아닌 객체로 전달합니다. 내 코드Angular2 Component @ Input 양방향 바인딩

toggle.html

<input type="checkbox" [(ngModel)]="toggled" [id]="toggleId" name="check"/> 

toggle.component.ts [(toggled)]="..." 당신을 작동하려면

import { Component, Input, EventEmitter, Output } from '@angular/core'; 

@Component({ 
    moduleId: module.id, 
    selector: 'toggle-switch', 
    templateUrl: 'toggle-switch.component.html', 
    styleUrls: ['toggle-switch.component.css'] 
}) 

export class ToggleSwitchComponent { 

    @Input() toggleId: string; 
    @Input() toggled: boolean; 

} 

parent.component.html

<toggle-switch toggleId="toggle-1" [(toggled)]="nongenericObject.toggled"></toggle-switch> 
+0

http://stackoverflow.com/documentation/angular2/8943/angular2-input-output#t=201702021650455443161 –

답변

15

....입니다 필요

,210

도 참조 Two-way binding

+0

그는이 EventEmitter를 사용하거나 변수를 통과하지 않고 "그 몹시 실망 할 것 개체로서 "는 충족 될 수 없다. 마치 기본 구문을 읽지 않은 것 같습니다. 아, 구문 가이드로 연결되는 링크입니다. – silentsod

+0

그는'EventEmitter'를 가져 왔습니다. 예상대로 나쁘지 않을 수도 있습니다 ;-) –

+0

이것은 실제로 저에게 효과적이었습니다. 원래는 부모 구성 요소의 함수에 연결된 이벤트 이미 터를 사용하도록 설정 했었습니다. 그것은 매우 재사용이 안되었 기 때문에 왜 이런 질문을 던질 수있는 방법이 있는지 물어 보았습니다. 어떤 이유인지에 대한이 대답은 부모 토글 변수를 변경합니다 –

관련 문제