首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有可观测性的角形

具有可观测性的角形
EN

Stack Overflow用户
提问于 2017-06-21 14:03:47
回答 1查看 2.3K关注 0票数 2

我得到了错误:我的脚本上的事件目标无效,我以前用@ViewChild做过,没有任何问题,但当我尝试使用FormGroup时,我得到了错误!

代码语言:javascript
运行
复制
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));
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-21 14:08:10

Observable.fromEvent的第一个参数需要是HTMLElement (对象),而不是它的值(字符串)。

但是你真的不需要手动创建observable,因为FormControl已经为你提供了valueChanges,也就是EventEmmitter。所以你只需要这样做:

代码语言:javascript
运行
复制
ngOnInit() {
  var keyup = this.frm1.get('family').valueChanges
            .map((data:string) => data.replace(' ','-'))
            .debounceTime(400);               
  keyup.subscribe(x => console.log(x));
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44667964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档