请问koa2里面的模板渲染,怎么把值注入到pug模板的js变量里面呢?

请问koa2里面的模板渲染,怎么把值注入到pug模板的js变量里面呢?
不是ajax请求数据,想直接通过ctx.render把值传到模板的js变量里面。

比如:

router.get('/', async (ctx, next) => {
  await ctx.render('index', {
    title: 'Hello Koa 2!'
  })
})

在pug模板里面这样获取是可以的

h1= title

换成如下js就报错了

script.
    console.log(title)
阅读 5.8k
3 个回答
script.
    console.log(!{JSON.stringify(title)});//title为对象
    console.log(#{title});//非对象

我也用过一段时间的 pug,不过倒是没使用过定义 js 内容。我个人认为这应该是非法语法,因为如果 pug 已经能够嵌入js内容,那么我们完全就可以在后台写好 js,然后以嵌入的方式把js写在.html文件中,这样的话就可以减少 http请求,既然这么好的事情,为什么却没见到别人用过呢?与此同理,我感觉 pug 也不能定义 style 中的内容。

这种东西呢,我将其看做是 sass 中的插值,也就是说对于 key:value 形式,key 可以用户自定义,而 value 不行。

上面仅是个人观点,才疏学浅,如有纰漏,还望指教。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题