키 업 이벤트와 관찰 가능한 개체를 바인딩하려고합니다. 텍스트 상자 필드에서 키를 누를 때마다 "you have press :"+ 키 문자열을 콘솔에 기록하고 싶습니다. 오류가 표시되지 않고 키를 누를 때도 아무 일도 발생하지 않습니다. .
/// <reference path="../../../typings/tsd.d.ts" />
import { Component } from '@angular/core';
import {Observable} from 'rxjs/Rx';
@Component({
moduleId:module.id,
selector: 'search-samp',
template: '<input id="search" type="text" class="form-control" placeholder="search">'
})
export class SearchComponent {
constructor(){
var keyups = Observable.fromEvent($("#search"), "keyup").map(e=> {e.target.value});
keyups.subscribe(data => {
debugger
console.log("you have pressed:"+data)});
}
}
왜 작동하지 않습니까?
편집 :
var keyups = Observable.fromEvent($("#search"), "keyup").map(function(e){debugger});
지도 함수 내에서 디버거 지점에 도달 할 수 없습니다. 이벤트가 제대로 바인딩되지 않은 것 같습니다.하지만 왜?
1) ngAfterViewInit
가 호출 될 때까지 기다려야합니다 (아직 DOM에 템플릿 요소가 없습니다)
2) map
함수 의 코드를 변경해야 합니다.
.map(e => { return e.target.value; })
또는
.map(e => e.target.value)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다