구성 요소의 값 속성에 Angular2로 액세스하려면 어떻게합니까? 구성 요소 코드에서angular2 - 참조 <input> 값을 변경하는 구성 요소의 템플릿 참조 변수
<input #myInput (keyup.enter)="onInput(myInput)"/>
: 템플릿에서
import {ElementRef} from '@angular/core';
...
onInput(latLngInputElement: ElementRef) {
// I want to access the value property of the <input> element here, and
// modify it so that it is reflected back in the template.
내가 코드에 myInput.value를 전달할 수 있다는 것을 알고,하지만 난 참조가 필요 그래서이 함수를 사용하여 요소의 .value 속성을 업데이트 할 수도 있습니다.
전역 변수에 대한 양방향 바인딩을 포함하지 않는 방법이 있는지 알고 싶습니다. 가능하면 전역 변수가 거의없는 것이 좋다고 생각하기 때문입니다. 감사!
ReactiveForms를 사용하기 때문에 ngModel (반응 형 양식을 사용할 때 작동하지 않는다고 가정합니다)을 사용할 수 없으며 모든 formGroup 그룹에 하나의 더미 입력을 포함하고 싶지 않습니다. 사용자가 무언가를 입력하기 만하면되지만 프로그래밍 방식으로 작성된 양식에는 포함되지 않아야합니다 (하지만 시각적으로 다른 사용자와 함께 있어야하므로 어디에도 넣을 수 없습니다). 또한 특정 행동을 취한 후에도 그 가치를 설정할 수 있어야합니다. – MrCroft
내 템플릿에는''이 있습니다. 그러면, @ViewChild ('myInput')을 사용하여 참조를 얻습니다. inputElement : ElementRef;' 콘솔에'this.myInput.nativeElement.value' 로그가 있으면 값을 얻습니다. 그러나 this.myInput.nativeElement.setAttribute ('value', 'xxx');는 아무 것도하지 않습니다. 내가 뭔가 잘못하고 있는거야? build에 에러가 없기 때문에'setAttribute'가 유효한 메소드라고 가정합니다. 자동 완성리스트에서 선택하기 만하면됩니다.나는 또한'@ViewChild ('myInput') inputElement : HTMLInputElement;를 시도했지만, 사용할 수있는'value()'또는'setValue()'메소드는 없다. – MrCroft
'ReactiveFormsModule'을 사용하고 FormGroup을 설정했다면''을 사용하여'FormControl'에 입력을 할당 할 것입니다.'FormGroup'을 통해 필드와 상호 작용할 수 있습니다 , 즉'formGroupName.controls [ 'controlName']. setValue (value)'입니다. 엄지 손가락처럼 * 항상 * Angular로 DOM과 상호 작용하지 마십시오. 이 프레임 워크는 당신을 위해 그것을 수행합니다. – joh04667