ExpressJS渲染页面传参报错:res.render用this.title出现语法错误
解决ExpressJS中res.render的对象字面量语法错误
嘿,这个语法问题很好搞定!你遇到的SyntaxError: Unexpected token .,根源是在给res.render传参时,对象字面量的写法不符合JavaScript的语法规则——你不能直接在对象里写{ this.title }这种形式。
错误原因
JavaScript的对象字面量要求你明确指定属性名和对应的值,或者在ES6+的简写语法中,变量名要和属性名完全一致才能省略冒号和值。但这里你的值是this.title,不是一个同名变量,所以不能用简写,必须明确赋值。
修正后的代码
把你的showDefaultFeed方法改成下面这样就行:
// indexController.js文件 function IndexController(titleArg) { this.title = titleArg; } IndexController.prototype.showDefaultFeed = function(req, res) { // 明确指定属性名title,对应的值为this.title res.render('index.hbs', { title: this.title }); } module.exports = IndexController;
模板使用说明
修改后,你在index.hbs里只需要用{{title}}就能打印出构造函数传入的titleArg参数了。
内容的提问来源于stack exchange,提问作者Oskar Westmeijer
相关产品推荐
相关产品推荐

