Vue.js RXJS运算符不是函数
当我尝试在vue中使用rxjs并将vue rx与rxjs一起使用时,我遇到了这个错误Vue.js RXJS运算符不是函数,vue.js,rxjs,observable,Vue.js,Rxjs,Observable,当我尝试在vue中使用rxjs并将vue rx与rxjs一起使用时,我遇到了这个错误 [Vue warn]: Error in created hook: "TypeError: messageObservable.fromEvent(...).map(...).debounceTime is not a function" 在我查看的文档中,我没有看到任何错误的导入,在我的开发环境中构建JS时,我也没有遇到任何构建错误 这些是我的进口货 import { Observable } from
[Vue warn]: Error in created hook: "TypeError: messageObservable.fromEvent(...).map(...).debounceTime is not a function"
在我查看的文档中,我没有看到任何错误的导入,在我的开发环境中构建JS时,我也没有遇到任何构建错误
这些是我的进口货
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromEvent';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/distinctUntilChanged';
这就是所谓的方法
const messageObservable = Observable;
subscriptions(){
message$: messageObservable
},
created(){
message$.
fromEvent(document.querySelector('textarea'), 'input').
map(event => event.target.value).
debounceTime(500).
distinctUntilChanged().
subscribe({
next: function(value) {
console.log(value);
}
});
},
看来你正在学习的教程已经过时了。此
导入
不再工作。()
最新且稳定的版本是rxjs6
。这是正确的使用方法:
import { fromEvent, map, debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators'
import { Observable } from 'rxjs';
...
created() {
message$.
pipe(
map(event => event.target.value),
debounceTime(500),
distinctUntilChanged()
).subscribe(console.log);
}
我猜这就是您希望使用fromEvent的方式
created() {
message$.
pipe(
switchMap(val => fromEvent(document.querySelector('textarea'), 'input'))
map(event => event.target.value),
debounceTime(500),
distinctUntilChanged()
).subscribe(console.log);
}
fromEvent是一个静态方法,您如何在message$上使用它?我所看到的教程的运行方式与我所看到的一样\pipe做了什么?我不记得在我第一次学习RxJS时必须这样做。它们只是接收一个作为参数的可观测值,然后返回一个可观测值。这是在rxjs中对可观测数据执行操作的新方法。请参阅此文档。
created() {
message$.
pipe(
switchMap(val => fromEvent(document.querySelector('textarea'), 'input'))
map(event => event.target.value),
debounceTime(500),
distinctUntilChanged()
).subscribe(console.log);
}