2015年1月20日火曜日

Ember.jsのコンポーネントを使う

こんなにでっかく書いてあるのにorz

昨日はEmberのコンポーネントを使おうとして見事にハマりました。

結論から申しますと、コンポーネントの名前は、ダッシュで切らないといけません。公式のGUIDEにも書いてあります。しかし、そこに気付かなかったために3時間ツブしました。フレームワークを再ダウンロードしたり、ページ上で読み込む順番を変えたり、もう思いつく限りの試行錯誤をしたけど動かない。あげく、チュートリアルの関連コードを貼ってみたら動いてしまう。で、何度目かにようやく「コンポーネント名は、ダッシュを含まないとあかんよ(Components must have a dash in their name.)」の記述に気づいた次第。動いたさ。ああ動いたさ。

なお、ハマったネタとして、こっちにまとめておきます。今後、ネタが増えないことを祈ります。いやマジで。とりあえず、ChromeのEmber Inspectorを試してみます。

以下余談。

MVCとしてのEmberは大変良く出来ています。サイズはやたらデカいのですが、実際に走らせてみると表示はむしろ他のMVCフレームワークよりも速く、特にどこかEOF(NeXTSTEPのEnterprise Object Frameworkなんて知ってる人いるかなー)を思い出させるようなオブジェクトの連携に関しては重いという感じがありません。設計思想もCoCが徹底されていて余計な設定やらBoilerplateな記述はほとんど必要ありません(まぁ「暗黙の設定」が多すぎて、それでハマることも多いんですがw)。

が。

どっかでも批判されていましたが、ドキュメントの更新が追いついておらず、公式サイトでもチュートリアル本文とサンプルコードが一致していなかったり、CoCなのに重要なアトリビュート名が変わったりで「もう誰も信じない!」な状態に陥ることもあります。

#linkToが#link-toに変わったこととか、idがdata-template-nameになったり。上記のリンクを含めて本家のサイトでもバラバラだし、日本語の解説ページで一番充実しているDevelopers.ioこの入門シリーズにも反映していただけるとありがたいのですが…。

…まぁDevelopers.ioで一番改めてもらいたいのは、あの歯茎だけどね。とにかくバナーの写真のお前らはこっち見るなw

…それはともかく…ドキュメントはしっかり読みましょう。少なくとも「Note」ってところぐらいはね。

0 件のコメント:

コメントを投稿