2016-02-10 virtual-dom-ssr に cycle-dom の intent selector っぽいものをつくった
2016-02-07 に bouzuya/virtual-dom-ssr へ event listener を追加したことを書く。
virtual-dom-ssr は Matt-Esch/virtual-dom と EventEmitter で server-side rendering の検証をするための project 。これは先週に何度か書いている。
今回の目的は、この virtual-dom-ssr の client-side で click などの event を取れるようにすることだ。
実装は cyclejs/cycle-dom の intent selector に近い。VTree の render と event listener の設定を完全に分離している。例えるなら React にある <button onClick={...}/>
のような形ではなく、jQuery の $('button').on('click', ...)
のような形だ。 event listener を root element に設定し、発生した event の target を Element.matchesSelector
で検査することで実現している。
類似の実装は 2016-01-29 の bouzuya/my-cycle で既に試している。今回は cyclejs/cycle-dom を見ずに必要分だけを実装している。
一応のところは動くのだけど event listener が増えたときの速度やその他の未知の問題などを気にしている。