M.J
M.J

Reputation: 286

angular how to get Element by observable

I have a question about angular observable, I just created a test component for get key-up event with observable :

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));
}

}

how can i call input item by id or etc?

Upvotes: 0

Views: 2499

Answers (1)

acdcjunior
acdcjunior

Reputation: 135832

Here's something you can use (see 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));
  }

}

This angular issue may be of interest.

Upvotes: 2

Related Questions