1
私は完全にデバッグするために最善を尽くしましたが、私はなぜこのコードが動作しないのか分かりません..私は自分の誤りを知っていますが、私がコード内の3つの問題を参照してください男ハンドルバーの混乱私はそれを取得しません
https://codepen.io/blaze4dem/pen/zZmqKa
var docs = document.getElementById('pag_temp').innerHTML;
var template = Handlebars.compile(docs);
Handlebars.registerHelper("makeradio", function(name, options){
var radioList = options.fn();
radioList = radioList.trim().split("\n");
var output = "";
for(var val in radioList){
var item = radioList(val).trim();
output += '<input type="radio" name="'+ name +'" value="'+ item +'"> '+ item + '<br/>';
};
return output;
});
var tempdata = template({});
document.getElementById('dynamic').innaHTML += tempdata;
感謝しなければならないと感じて、しかし、私は考えにあなたがちょうど書いたすべてのコードを持っていません。私は実際にはjavascriptとHandlebarsを使用することを学んでいます。 私は実際にビデオチュートリアルに従っています。チュートリアルで上のコードは正常に動作していますが、私はデバッグしようとしましたが、バグの意味を理解できません(関数ではありません)。 ビデオチュートリアルでハンドルバーのバージョンがv4.0.2で、私のバージョンがv4.0.5であるからです。 – Blaze4dem
'radioList(val)'でなければなりません。 'radioList'は'() 'を使って呼び出すことのできる関数ではないからです。 '[]'はプロパティへのアクセスに使用されます。 'var obj = {a:10};' 'obj ['a']やobj.a'を使って' a'の値にアクセスすることができます。値10を吐き出します。代わりにアクセスしようとすると'obj()'を使うと、あなたが見たエラーで失敗します。 –