Riot.js簡単でいいですね。コンポーネント単位で作成できるもの、見通しがよく作りやすいです。
コンポーネントを別ファイルで(.tag)保存することもできます。
コンポーネント内はHTML, CSS, JavaScriptを区別して書くことができるのでMVCっぽく作ることもできます。
非常に学習コストが低いのも利点ですね。ただし日本語のTipsがまだ少ないのが残念なところです。
今回はRiot.jsのイベントハンドラ(onclick, onsubmit, oninput)にデータを渡す方法です。
onsubmitやoninputは普通に取得できますが、問題はonclickです。
[html]
[/html]
こんなボタンのdata-idをイベントハンドラに渡したいのですがRiot.jsのリファレンスにはその記述はありません。
ズバリそのものがgithubのissueにありました。
How to call a function onclick and pass arguments
issue内のコメントによると方法は2つ
データセットを使う
[html]
handler(e) {
console.log(e.target.dataset.id); // 1
}
[/html]
bindを使う
[html]
handler(num, e){
console.log(num); // 1
}
[/html]
bindのほうが記述が短いのかな?
jQueryを使って何かしたいのであればdatasetのほうが使いやすいだろうし、それぞれの環境に合わせればいいと思います。