close

mustache

聖誕夜邊看家政婦三田,
邊研究 Node.js 會不會有很精實的感覺XD
上回練習一中柯南自己提了一個問題是如何將變數傳入 mustache 的template,
在反覆嘗試後終於找到可以work的解答!
那就是用 function 的方式代入!

仔細看上面的程式碼,
可以發現柯南將原本
res.render('jquery', {imgs:[{img:"http://farm8.staticflickr.com/7008/6529916751_0581617361_m.jpg"},
{
img:"http://farm8.staticflickr.com/7160/6529913429_d29e5b7c8b_m.jpg"},
{
img:"http://farm8.staticflickr.com/7005/6529892381_3bae14c52c_m.jpg"},
{
img:"http://farm8.staticflickr.com/7164/6529891385_5c1bc9be0e_m.jpg"}]});

這段程式碼,
改成下面這段

res.render('jquery', {imgs: function() { return imgArray;}});

如此一來,
就可以透過function的方式將變數傳到 mustache的 template中了。
要注意的是如果要傳過去的變數只有一個值,比如

return "abc";

這個就直接回傳就好。

但是如果是像這個範例一樣是傳遞多個值,
那就要先將這些值放入 array
而不是用我之前用的方式

imgsdata = '{imgs:[{img:"http://farm8.staticflickr.com/7008/6529916751_0581617361_m.jpg"},{img:"http://farm8.staticflickr.com/7160/6529913429_d29e5b7c8b_m.jpg"},

將值變成字串傳遞,
這樣子就會不work。

1324201717-1411110641.png

於是練習一的範例終於可以動態抓取圖片顯示在網頁上了!

希望本篇文章對 nodejs 有興趣的朋友有幫助,
柯南也將這一連串練習的 code 擺在 github,
歡迎有興趣的朋友參考,
若有寫錯或改進的地方,
也請跟我說一聲,謝謝!

最後祝大家聖誕快樂!

Technorati Tags: , , , ,

arrow
arrow
    全站熱搜

    賽拉維‧柯南 發表在 痞客邦 留言(1) 人氣()