例如,在我的Nodejs应用程序中,我有一个路由器:
exports.test=function(req,res){
res.render('./admin/test.jade',{html:[a,b,c]);
}
我有Underscore.js
在我看来test.jade
:
-var _und=require('Underscore.js')
....
div
-_und.each(html,function(m))
span m
....
但是我收到了错误。这表明,Underscore.js
只是用作服务器端方法,如何在视图中使用服务器端方法?
答案 0 :(得分:2)
您无需从视图中要求下划线。要查看您应该只发送数据(这意味着在想法的情况下,您根本不应该使用下划线)。但是如果你愿意,你仍然可以发送下划线作为一个函数来查看:
exports.test = function(req,res) {
res.render('./admin/test.jade',{ html: [a,b,c], _ : require("underscore") });
};
或者像这样:
exports.test = function(req,res) {
var underscore = require("underscore");
res.render('./admin/test.jade', { html : [a,b,c], _ : underscore });
}
在您的视图中,您可以访问以下内容:
div
-_und.each(html,function(m))
span m
您可以从我的nodejs github markdown项目(http://bit.ly/1aOAG35)中获得灵感。使用下划线进行布局,我也在模板中使用它:
{{# onlyblogs.forEach(function(current){ }}
<li>
<a href="..{{ current._fullpath }}">{{ current.title }}</a>
{{# if (current.description){ }}
<span>{{ current.description }}</span>
{{# } }}
<span>{{ current.category }}</span> in <date>{{ current.date }}</date>.
</li>
{{# }); }}
希望它有所帮助。