如何在路由index.js中通过render向index.jade传递一个数组 或者一个对象参数
发布于 10 年前 作者 upwwhh 10702 次浏览 最后一次编辑是 8 年前 来自 问答

我直接使用这样的方式

index.js中代码
var args = {
};
var sources = require('./index.json');
router.get('/', function(req, res) {
    args.title = '万万花花';
    args.yygh  = sources.yygh;
  res.render('index', { args:args});

});

我想这样因该是可以的吧 index.jade

each item in args.banner

结果抛出了错误如下:

   2| html(lang='zh-cn')
   3|   head
 > 4|     title= args.title
   5|     meta(name="keywords" content="关键词")
   6|     meta(name="description" content="描述")
   7|     meta(http-equiv="Content-Type" content="text/html; charset=utf-8")

Cannot read property 'title' of undefined  

这算不算没有把参数传递进jade中

8 回复

难道不能传递一个对象吗。我传递一个字符串 title确可以访问

@lonso title #{args.title} 5| meta(name=“keywords” content=“关键词”) 6| meta(name=“description” content=“描述”) 7| meta(http-equiv=“Content-Type” content=“text/html; charset=utf-8”)

Cannot read property ‘title’ of undefined 看来这两种用法一样

你用了each为什么下面的循环体不是item,另外你可以直接 jade里将args打印出来看看就什么都明白了,#{args}

@pockry #{args}是空的 看来没有传过去

好了诶 自己解决了。

@upwwhh 怎么解决的?

@alsotang 要重启nodejs,作为server

args的声明要搬到回调里面吧?

回到顶部