Riotjs の 2.0.11 がリリースされました。
リリースノートはこちら -> https://muut.com/riotjs/release-notes.html#2-0-11-em-feb-23-2015-em-
リリースノートでは riot.mount
, riot.mountTo
, riot.unmount
あたりのことが書いてあるんですが、僕としては 2.0.7
にエンバグされたコンポーネントに値が渡るときに遅延する問題がついに修正されたのが一番の朗報です!!!!!!!!
ちょっと前に自分で直そうと試行錯誤していたのですがいまいちどこが問題か特定できずに断念したので...。コミットログ追ってみると修正コミットはたぶん https://github.com/muut/riotjs/commit/2eecb48ebf5d2b112f25167bc8133c752454a8af がそれっぽいような気がするけど定かではないです。
それから、気付いた変更点としては 2.0.10 までは
some
p(data='{ test }')
script(type='text/coffeescript').
@test = ['test1', 'test2', 'test3']
というようなコードで配列が toString
されて展開されていたのが 2.0.11 だと属性がそのまま消滅する(追記を参照)ので注意が必要です。なので、お気付きとはおもいますが
some
p(data='{ test.toString() }')
script(type='text/coffeescript').
@test = ['test1', 'test2', 'test3']
というような感じで明示的に toString
してやれば同様の動きをします。ちなみに、これをやっているのは click のイベントハンドラで event.target.getAttribute('data').split(',')
をするためなんですが、実装としては微妙な感じがするのでなんとかしたいなあとおもいつつ...。
追記(2/25)
コメントにもありますが
- String: DOMと、optsに入る
- Function: イベントハンドラ
- Bool: DOMと、optsに入る
- Object/Array: optsのみに入る
というような挙動をするようです。
その他トピックスとしては、プラグインシステムを作っているらしい(参照)だったり、CSS まわりが整理されそう(参照)といったあたりでしょうか。
これ言うの何度目かもう分からんぐらいですが、今度こそぼちぼち使えそうな感じだとおもうので引き続き使ってみていきたい所存です。
また、コンパイラ絡みの変更は特にないのであんまり対応することもなかったですが弊 gulp プラグインも既に対応済 (リポジトリ) ですのであわせてどうぞ。また、上記のバグで 2.0.7 で止めていた絵文字検索サービスemo(リポジトリ)もようやく 2.0.11 に上げられたので参考までに。