聖誕夜邊看家政婦三田,
邊研究 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。
於是練習一的範例終於可以動態抓取圖片顯示在網頁上了!
希望本篇文章對 nodejs 有興趣的朋友有幫助,
柯南也將這一連串練習的 code 擺在 github,
歡迎有興趣的朋友參考,
若有寫錯或改進的地方,
也請跟我說一聲,謝謝!
最後祝大家聖誕快樂!
Technorati Tags: Nodejs, mustache, pass value, template, Javascript
留言列表