2016-08-04 12 views
0

coffeescriptでの再生。私はよく動作するネイティブのjavascriptのhtml要素を連結するために次のループを持っています。現時点で私はちょうど値jsonデータ、すなわちi.a、i.bをcoffeescriptから得ることができませんでした。唯一の違いは欠落割り当てであるCoffeescript:ループを連結するためのHTML​​要素

//autogenerated js file from coffeescript file above 
createTr = function(json) { 
var i, j, len, ref, tr; 
tr = ''; 
ref = json.data; 
for (j = 0, len = ref.length; j < len; j++) { 
    i = ref[j]; 
    tr + '<tr><td>' + i.a + '-' + i.b + '</td><td>' + i.c + '</td><td>' + i.d + '</td></tr>'; 
} 
return tr; 
}; 
+0

のような文字列でループ、文字列と変数についてhttp://coffeescript.org/を読んで、 'TR +'あなたはtrは+ = 'のCoffeeScriptでバージョン 'を必要としています。そうでなければ、結果は何にも割り当てられておらず、関数は ''''を返します。 – Owen

+0

ああ、おかげで@オーウェン。私のスクリプトで少し+を出す。 – FRizal

答えて

0

以下の通り

//.js file 
function createTr(json){ 
var tr=''; 
for (var i=0;i<json.data.length;i++){ 
var data ='<tr><td>' + json.data[i].a + ' - ' + json.data[i].b + 
    '</td>'+ 
    '<td>' + json.data[i].c + 
    '</td>'+ 
    '<td>' + json.data[i].d + 
    '</td>'+ 
    '</tr>'; 
tr +=data; 
} 
return tr; 
} 

coffescriptは

//.coffeescript 
createTr = (json) -> 
tr='' 
tr + '<tr><td>' + i.a + '-' + i.b+'</td> <td>'+i.c+'</td><td>'+i.d+'</td></tr>' for i in json.data 
tr 

のCoffeeScriptから自動生成されたJavaScriptのソースマップ以下あたりです。 CoffeeScriptのバージョンは次のようになります。

createTr = (json) -> 
    tr='' 
    tr += '<tr><td>' + i.a + '-' + i.b+'</td> <td>'+i.c+'</td><td>'+i.d+'</td></tr>' for i in json.data 
    tr 
0
##.coffee file 
    createTr = (json) -> 
    tr = '' 
    for item in json.data 
     data = """<tr> 
     <td>#{item.a}-#{item.b}</td> 
     <td>#{item.c}</td> 
     <td>#{item.d}</td></tr> """ 
     tr += data 

    return tr 

、代わりの"Some text #{variable}"

関連する問題