Riot.jsのイベントハンドラ(onclick)にデータを渡す方法

Riot.js簡単でいいですね。コンポーネント単位で作成できるもの、見通しがよく作りやすいです。
コンポーネントを別ファイルで(.tag)保存することもできます。
コンポーネント内はHTML, CSS, JavaScriptを区別して書くことができるのでMVCっぽく作ることもできます。
非常に学習コストが低いのも利点ですね。ただし日本語のTipsがまだ少ないのが残念なところです。

今回はRiot.jsのイベントハンドラ(onclick, onsubmit, oninput)にデータを渡す方法です。
onsubmitやoninputは普通に取得できますが、問題はonclickです。

こんなボタンのdata-idをイベントハンドラに渡したいのですがRiot.jsのリファレンスにはその記述はありません。

ズバリそのものがgithubのissueにありました。
How to call a function onclick and pass arguments

issue内のコメントによると方法は2つ

データセットを使う

bindを使う

bindのほうが記述が短いのかな?
jQueryを使って何かしたいのであればdatasetのほうが使いやすいだろうし、それぞれの環境に合わせればいいと思います。

関連記事

コメントを残す

メールアドレスが公開されることはありません。

Trackback URL

管理者の承認後に表示します。