私の目標は、条件付きで Ember ビューに表示できる Facebook のようなボタンを作成することです。私のテンプレートは次のとおりです。
{{#if condition}}
Click Like: <div class="fb-like fb_edge_widget_with_comment fb_iframe_widget" data-href="http://www.facebook.com/obnob" data-send="false" data-layout="button_count" data-width="100" data-show-faces="false"></div>
{{else}}
Nothing to like here!
{{/if}}
ページの存続期間中に変更があった場合condition
、いいねボタンの HTML コードはそれに応じて挿入および削除されます。問題は、ページが読み込まれた後にいいねボタンの div が挿入された場合、Facebook JavaScript ライブラリがそれを解析せず、いいねボタンに変換しないことです。これを行うには、 を呼び出す必要がありますFB.XFBML.parse()
。
didInsertElement()
のフックを使用してみましたEmber.View
が、これは、ビューが DOM に挿入された後ではなく、最初に DOM に挿入されたときにのみ実行されます。
テンプレートに script タグを追加して、これを修正しようとしました。
<script>FB.XFBML.parse();</script>
スクリプト タグが Metamorph のスクリプト タグに干渉するため、これは失敗しました。
質問
- Ember には、既にレンダリングされた Ember ビューを Metamorph が変更するたびにコードを実行するためのフックがありますか?
- Metamorph のタグを破壊することなく、Ember テンプレートにスクリプト タグを記述するにはどうすればよいですか?