Vue-rx 初體驗

栏目: JavaScript · 发布时间: 5年前

内容简介:若說 Ramda 是 FP 在 ECMAScript 對於RxJS 在 Angular 2 之後已經是 framework 的標準配備,Vue 也由官方將 RxJS 6 整合進 Vue,稱為 Vue-rx。Vue 2.5.21

若說 Ramda 是 FP 在 ECMAScript 對於 同步 的解決方案,RxJS 則是 FP 在 ECMAScript 對於 非同步 的解決方案。

RxJS 在 Angular 2 之後已經是 framework 的標準配備,Vue 也由官方將 RxJS 6 整合進 Vue,稱為 Vue-rx。

Version

Vue 2.5.21

Vue-rx 6.1.0

RxJS 6.3.3

安裝 Vue-rx

$  yarn add vue-rx rxjs

雖然 Vue-rx 是 Vue 官方所維護,但目前 Vue-rx 並不像 Vuex 可透過 Vue CLI,必須自行使用 Yarn 安裝。

Vue-rx 初體驗

Vue-rx 初體驗

  1. 安裝完會發現在專案根目錄的 package.json 多了 rxjsvue-rx

Main.js

main.js

import Vue from 'vue';
import VueRx from 'vue-rx';
import App from './App.vue';

Vue.use(VueRx);
Vue.config.productionTip = false;

new Vue({
  render: h => h(App),
}).$mount('#app');

第 2 行

import VueRx from 'vue-rx';

Import vue-rx

第 5 行

Vue.use(VueRx);

讓 Vue instance 可以使用 VueRx。

Component

HelloWorld.vue

<template>
  <h1>{{ interval$ }}</h1>
</template>

<script>
import { interval } from 'rxjs';

export default {
  name: 'HelloWorld',
  subscriptions: () => ({
    interval$: interval(1000),
  }),
};
</script>

首先來看最簡單的 Vue-rx 應用。

第 6行

import { interval } from 'rxjs';

先 import RxJS 的 interval()

10 行

subscriptions: () => ({
  interval$: interval(1000),
}),

Vue-rx 提供了 subscriptions ,專門放置 Rxjs 的 Observable

其中 subscriptions 如同 datacomputed 一樣都是 function,回傳的是 object。

Observable 建議的命名方式是在名稱後面加上 $ ,其值為 RxJS 的 interval() ,每 1 秒鐘會送出新的值。

第 1 行

<template>
  <h1>{{ interval$ }}</h1>
</template>

在 HTML template 可直接使用在 subscriptions 定義的 Observable

Vue-rx 初體驗

  • 執行後會發現 interval$ 不斷地遞增
subscriptions: () => {
  const interval$ = interval(1000);

  return {
    interval$,
  };
},

RxJS 還會搭配許多 operator,不太可能只回傳 object,實務上我們常會寫成 function,最後再 return object。

Conclusion

  • 這就是最簡單的 Vue + Vue-rx,重點先將環境裝好,日後才能練習更進階的應用

Sample Code

完整的範例可以在我的 GitHub 上找到

Reference

Vue , vuejs/vue-rx

RxJS , ReactiveX/rxjs

egghead.io , Build Async Vue.js Apps with RxJS


以上所述就是小编给大家介绍的《Vue-rx 初體驗》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

失控

失控

[美] 凯文·凯利 / 东西文库 / 新星出版社 / 2011-3 / 98.00元

2006年,《长尾理论》的作者克里斯·安德森在亚马逊网站上这样评价该书: “这可能是90年代最重要的一本书”,并且是“少有的一年比一年卖得好的书”。“尽管书中的一些例子在十几年后可能有些过时,但(它们所表达的)信息却越来越成为真知灼见”。“在那时人们还无法想象博客和维基等大众智慧的突起,但凯利却分毫不差地预见到了。这可能是过去十年来最聪明的一本书。” 这是《黑客帝国》主要演员的必读物之......一起来看看 《失控》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具