はじめに
初めて投稿させていただきます。
Riot.js(v3)を使用していたのですが以下の理由から移行を考えました。
・Riot.js(v4)へのバージョンアップで記法がVue.jsに寄る
・Nuxt.jsの静的サイトジェネレートによる初期表示の速度改善
Riot.jsのユーザーが多くないので需要があるかが不安ですが宜しくお願いいたします・・・
カスタムイベント
// Riot.js(v3)
this.on(EVENT_NAME, callback);
this.one(EVENT_NAME, callback);
this.trigger(EVENT_NAME, PROPS...);
// Vue.js
this.$on(EVENT_NAME, callback);
this.$once(EVENT_NAME, callback);
this.$emit(EVENT_NAME, PROPS...);
ライフサイクルフック
// Riot.js(v3)
this.on('mount', callback);
// Vue.js
this.$on('hook:mounted', callback);
DOMの更新後
// Riot.js(v3)
this.one('updated', callback);
// Vue.js
this.$nextTick(callback);
this.$nextTick().then(callback);
変数の更新
// Riot.js(v3)
this.valiable = newValue;
this.update();
// Vue.js
this.valiable = newValue; // updateされる
リストレンダリング
<!-- Riot.js(v3) -->
<virtual each={item, index in list}></virtual>
<!-- Vue.js -->
<template v-for="(item, index) in list"></template>
条件付きレンダリング
<!-- Riot.js(v3) -->
<virtual if={isVisible}></virtual>
<!-- Vue.js -->
<template v-if="isVisible"></template>
終わりに
間違っている点や感想などコメントしていただけると幸いです。
お読みいただきありがとうございました。