angular2 Observable 属性“debouceTime"在类型“Observable<any>"上不存在 [英] angular2 Observable Property 'debouceTime' does not exist on type 'Observable<any>'
问题描述
我使用 "angular2 webpack" 和 "angular2/form,Observable" ,但遇到错误,需要帮助..
有一个自定义表单验证器 --
import {Observable} from 'rxjs/Rx';从@angular/forms"导入 {REACTIVE_FORM_DIRECTIVES,FormControl, FormGroup, Validators};emailShouldBeUnique(control:FormControl) {返回新的 Observable((obs:any)=>{control.valueChanges.debouceTime(400).distinctUntilChanged().flatMap(term=>return !this.userQuery.emailExist(term)).订阅(资源=> {if (!res) {obs.next(null)}else {obs.next({'emailExist': true});};})});}
我可以找到文件 "/projection_direction/node_modules/rxjs/operator/debounceTime.js"
为什么会出现这样的错误--
<块引用>'Observable' 类型不存在属性 'debouceTime'.
确保你已经在 main.ts (应用程序启动的地方)
import "rxjs/add/operator/map";导入rxjs/add/operator/debounceTime";...
或一次性
import "rxjs/Rx";
扩展
//我们的根应用组件从@angular/core"导入 {Component, EventEmitter, ChangeDetectorRef}从rxjs/Rx"导入{Observable};@成分({选择器:'我的应用',提供者:[],模板:`<div><h2>你好{{name}}</h2><div>去抖动消息:{{message}}</div>
`,指令:[]})出口类应用{受保护的消息:字符串;受保护的发射器 = 新的 EventEmitter 这在 main.ts 中有效: 在此处 I use "angular2 webpack" and "angular2/form,Observable" , but met an error ,need help .. There is a custom form validator -- I could find the file "/projection_direction/node_modules/rxjs/operator/debounceTime.js" why is there such the error-- Property 'debouceTime' does not exist on type 'Observable'.
Be sure you've initiated that in main.ts (where the app is bootstraped) or all at once EXTEND there is a working example and that is working when in main.ts we have: Check it here 这篇关于angular2 Observable 属性“debouceTime"在类型“Observable<any>"上不存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!//主入口点从@angular/platform-browser-dynamic"导入 {bootstrap};从'./app'导入{App};导入rxjs/Rx";引导程序(应用程序,[]).catch(err => console.error(err));
import {Observable} from 'rxjs/Rx';
import {REACTIVE_FORM_DIRECTIVES,FormControl, FormGroup, Validators} from '@angular/forms';
emailShouldBeUnique(control:FormControl) {
return new Observable((obs:any)=> {
control.valueChanges
.debouceTime(400)
.distinctUntilChanged()
.flatMap(term=>return !this.userQuery.emailExist(term))
.subscribe(res=> {
if (!res) {obs.next(null)}
else {obs.next({'emailExist': true}); }; }
)});}
import "rxjs/add/operator/map";
import "rxjs/add/operator/debounceTime";
...
import "rxjs/Rx";
//our root app component
import {Component, EventEmitter, ChangeDetectorRef} from '@angular/core'
import {Observable} from "rxjs/Rx";
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<h2>Hello {{name}}</h2>
<div>debounced message: {{message}}</div>
</div>
`,
directives: []
})
export class App {
protected message: string;
protected emitter = new EventEmitter<string>();
public obs: Observable<string>;
constructor() {
this.name = 'Angular2 (Release Candidate!)'
this.obs = this.emitter
.map(x => x)
.debounceTime(1200)
;
this.obs.subscribe(msg => this.message = msg);
}
ngOnInit(){
this.emitter.emit("hello after debounce");
}
}
//main entry point
import {bootstrap} from '@angular/platform-browser-dynamic';
import {App} from './app';
import "rxjs/Rx";
bootstrap(App, [])
.catch(err => console.error(err));