我得到了错误:我的脚本上的事件目标无效,我以前用@ViewChild做过,没有任何问题,但当我尝试使用FormGroup时,我得到了错误!
import { Component , OnInit } from '@angular/core';
import {FormGroup,FormBuilder} from '@angular/forms';
import {Observable} from 'rxjs/Rx';
@Component({
selector: 'app-root',
template: `<h1>Hello World!</h1>
<form [formGroup]="frm1">
<input type="text" formControlName="name" >
<input type="text" formControlName="family" #family>
</form>
`,
})
export class AppComponent implements OnInit{
frm1 : FormGroup;
constructor( fb:FormBuilder){
this.frm1 = fb.group({
name : [],
family: []
});
}
ngOnInit(){
var keyup = Observable.fromEvent(this.frm1.get('family').value , "keyup")
.map((data:string) => data.replace(' ','-'))
.debounceTime(400);
keyup.subscribe(x => console.log(x));
}
}
发布于 2017-06-21 06:08:10
Observable.fromEvent
的第一个参数需要是HTMLElement (对象),而不是它的值(字符串)。
但是你真的不需要手动创建observable,因为FormControl已经为你提供了valueChanges
,也就是EventEmmitter。所以你只需要这样做:
ngOnInit() {
var keyup = this.frm1.get('family').valueChanges
.map((data:string) => data.replace(' ','-'))
.debounceTime(400);
keyup.subscribe(x => console.log(x));
}
https://stackoverflow.com/questions/44667964
复制相似问题