ドキュメントに記載の通りだけどReactみたいにマウント時のイベントがいくつかあります。
書き方はon
もしくはone
で記載することができます。
todo.tag
<script>
this.on('mount', () => {
});
</script>
before-mount
タグがマウントされる直前に一度だけ呼ばれます。
タグの初期化処理などはここで書くようになると思います。
mount
タグがマウントされた直後に一度だけ呼ばれます。
update
タグが更新される直前に呼ばれます。
これは値が更新される度に呼ばれることになります。
場合によりけりですが何度もupdateが呼び出されると不都合がでる場合があります。そういうときはone
を使うことで呼び出しを
1度だけにすることができます。
todo.tag
this.one('update', () => {
});
updated
タグが更新された直後に呼ばれます。
update
と同じように更新される度に呼ばれます。
before-unmount
タグのマウントが解除される直前に呼ばれます。
後処理などはここで書くことができそうです。
unmount
タグのマウントが解除された直後に呼ばれます。
入れ子のカスタムタグのマウント
基本的には親タグが読み込まれたときい子タグも同時にマウントされます。
app.js
import 'app' from './app.tag'
import 'header' from './header.tag';
import 'todo' from './todo.tag';
riot.mount('app');
app.tag
<app>
<header></header>
<todo></todo>
</app>
予めimportで読み込んでおく必要はありますがこれで子タグのマウント処理も行うことは可能になってくると思います。