加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vue-rx的初步使用教程

发布时间:2020-12-16 23:30:20 所属栏目:百科 来源:网络整理
导读:一、各文档介绍 1、rxjs官网 2、vue-rxjs地址 二、环境搭建 1、使用vue-cli构建一个项目 2、安装vue-rx的依赖包 3、在src/main.js中配置使用rxjs Vue.use(VueRx,Rx); 三、没有使用vue-rx的时候 1、关于属性的使用 2、关于事件的使用 { this.name = '哈哈'; }

一、各文档介绍

1、rxjs官网

2、vue-rxjs地址

二、环境搭建

1、使用vue-cli构建一个项目

2、安装vue-rx的依赖包

3、在src/main.js中配置使用rxjs

Vue.use(VueRx,Rx);

三、没有使用vue-rx的时候

1、关于属性的使用

2、关于事件的使用

{ this.name = '哈哈'; }) } };

四、结合vue-rx的使用

1、项目中集成了vue-rx的时候会在vue中新增一个钩子函数subscriptions,和之前的data类似的使用

2、domStreams是一个数组用来存放事件

3、属性的使用

item + 10),// 定义发送一个数组 arr$: new Observable.of(['第一本书','第二本书']),// 发送一个数组 obj$: new Observable.of({ a: 'test-obj',name: '呵呵' }),// 发送一个promise函数 promise$: new Observable.fromPromise(this.getPromise()),// 定时器 interval$: new Observable.interval(1000) } },methods: { getPromise() { return new Promise((resolve,reject) => { setTimeout(() => { resolve('promise'); },1000) }) } },}

5、事件的使用

1.在视图中定义事件

2.在domStreams中定义

3、在subscriptions定义事件赋值给哪个变量

'hello'.toUpperCase()),

六、关于switchMap、concatMap、exhaustMap的使用

1、定义事件

{{concatMapCount$}}

2、定义事件名

3、触发事件

{ return new Observable.from(this.getCount()); }),// 当你连续点击按钮多次获取数据时,switchMap只会将最后一个点击发出的值发出,前面发出的值会被吞掉 switchMapCount$: this.getSwitchMapCount$.switchMap(e => { return new Observable.from(this.getCount()); }),// 当你连续点击按钮多次时,exhaustMap仅执行一次,在第一次值发出后,才可以继续点击下一次发出值 exhaustMapCount$: this.getExhaustMapCount$.exhaustMap(e => { return new Observable.from(this.getCount()) }) } },methods: { getCount() { return new Promise((resolve,reject) => { this.count ++; setTimeout(() => { resolve(this.count); },1000); }) } } };

七、事件中传递参数

1、html页面

  • 点击的数字为:{{ num$.index }}

    点击的数字下标为:{{ num$.num }}

  • 2、在vue中处理

    data) // 因为视图引用了num$.index,所以这里要初始化num$为对象,避免报错 .startWith({}) } } }

    3、输入框中获取值

    value$: {{ value$ }}

    { console.log(val); return val; }) } } }

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读