私のEmberのコンポーネントitems-map.js
の中で、私はGoogle Mapを呼び出しています。 Google Map APIを使用すると、infoWindows(地図上の任意のピンをクリックすると開いたバブル)を表示できます。JavaScript文字列でEmberのアクションをコンパイルするにはどうすればよいですか?
これらのバブルの中にいくつかのHTMLコンテンツがあり、その中のリンクをクリックすると、別のルートに移行する必要があります。私はコンポーネント内のアクションを使用してこれを達成しようとしていますが、そのためには、まず、Handlebarsの構文をinfoWindowのHTMLにエンコードする必要があります。
var infoWindowContent = '<a class="btn" href="javascript:void(0);" {{action "routeToItem"}}>See Items</a>';
あなたが見ることができるように、私は文字列内のハンドルバーのアクションを持っている:
JavaScriptの文字列は次のようになります。ボタンがレンダリングされている間は、Handlebarsアクションはコンパイルされません。
var infoWindowContent = Ember.Handlebars.compile('var infoWindowContent = '<a class="btn" href="javascript:void(0);" {{action "routeToItem"}}>See Items</a>';');
これは、エラーを生成した:私はこのような `Handlebars.compile()」メソッドで上記文字列をラップしようとしました。ボタンを取得する代わりに、ボタンがあるはずのテキストが表示されます。これをどうすれば解決できますか?
コンポーネント全体を投稿できますか?私はこのためにEmberの行動を利用しません。それはうまくいくとは思わない。代わりに、私は、独自のカスタムイベントリスナを、普通のjavascriptまたはjQueryでセットアップし、ハンドラでEmberコードをアクティブにします。 – NicholasJohn16