私はハンドルバーのヘルパーメソッドを持っています。これはajaxでjsonオブジェクトをフェッチしています。そのjsonをhtmlにフォーマットしてテンプレートに挿入します。ハンドルバーのヘルパー出力がテンプレートに表示されない
コンソールにhtmlを出力して出力を正しく表示しますが、
ハンドルバーヘルパーの結果はテンプレートに表示されません。
Handlebars.registerHelper("accounts_dropdown", function() { function get_dropdown(callback){ var dropdown='Select Account'; $.ajax({ url: 'accounts', success: function(response){ for(var i=0;i<response.length;i++){ dropdown+=' < option value="'+response[i].id+'">'+response[i].name+'</option>'; } callback(dropdown); } }); } get_dropdown(function(dropdown){ console.log(dropdown); return new Handlebars.SafeString(dropdown); }); });
と私のテンプレートであなたが非同期的にドロップダウンをロードしているので、私は
{{accounts_dropdown}}
を完了するまでに股関節のAJAX呼び出しを延期するようにしてくださいすることは、いくつかはありますコピー/貼り付けエラーがあなたの例ですか?あなたのforループはすべてmangledであり、あなたが参照したjson-> htmlコードが見当たらないのです。 –
申し訳ありません@jake、htmlタグをフォーマットするのを忘れていたので、正しく表示されませんでした。 – pedalpete