在Jade中,您可以像这样将对象传递给客户端
路线:
res.render('mypage', {
title: 'My Page',
myobject : data
});
玉模板:
extends layout
block navbar
include includes/navbar
block top
include includes/top
block content
script(src='/js/controllers/test-controller.js')
script.
var clientobj = !{JSON.stringify(myobject)}
但是如果myobject不存在怎么办?在使用它之前检查这个对象是否存在似乎是最简单的事情(因此如果它确实只尝试定义var clientobj
)但是我在这里试图让这个发生。
例如:
res.render('mypage', {
title: 'My Page'
});
目前会破坏给定的模板,必须有一些语法才能使这段代码更具弹性,当然......
答案 0 :(得分:4)
以下代码段应该有所帮助。
script
if myobject
| var clientobj = !{JSON.stringify(myobject)}
请注意,您不应将.
(点)放在script
元素的末尾。否则if myobject ...
将被视为文本,而不是Jade代码。
或者这也应该有效:
script.
var clientid = #{myobject ? JSON.stringify(myobject) : "undefined"};
在这种情况下,您将获得以下HTML代码,并且您必须在页面中的JavaScrip代码中将clientid
作为undefined
处理。
<script>var clientid = undefined;</script>
我希望这会有所帮助