角度如何通过可观察获得元素

时间:2017-06-13 20:23:54

标签: angular

我有一个关于角度可观察的问题,我刚刚创建了一个带有observable的get key-up事件的测试组件:

import { Component } from '@angular/core';
import {Observable} from 'rxjs/Rx';

@Component({
selector: 'app-root',
template: `<h1>Hello World!</h1>
            <input type="text" name="name" id="name">`,
})

export class AppComponent { 

constructor(){  
    var keyup = Observable.fromEvent(*****,"keyup");
    keyup.subscribe(data => console.log(data));
}

}

我如何通过id或等调用输入项?

1 个答案:

答案 0 :(得分:2)

您可以使用以下内容(请参阅plunker):

import { Component, AfterViewInit, ViewChild } from '@angular/core';
import { Observable } from 'rxjs/Rx';

@Component({
  selector: 'my-app',
  template: `<h1>Hello World!</h1>
             <input type="text" name="name" id="name" #nameInput>`
})
export class AppComponent implements AfterViewInit {

  @ViewChild('nameInput')
  nameInput:ElementRef;

  ngAfterViewInit() {
    var keyup = Observable.fromEvent(this.nameInput.nativeElement, 'keyup');
    keyup.subscribe(data => console.log(data));
  }

}

angular issue可能会引起关注。