如何在使用jade传递variables时检查对象是否存在
在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
话),但我在这里clientobj
我的头,试图让这种情况发生。
例如:
res.render('mypage', { title: 'My Page' });
目前将打破给定的模板,必须有一些语法,使这个代码更具弹性,当然..
下面的代码片段应该有所帮助。
script if myobject | var clientobj = !{JSON.stringify(myobject)}
请注意,你不应该放.
(点)在script
元素的末尾。 否则, if myobject ...
将被视为文本而不是Jade代码。
或者这也应该工作:
script. var clientid = #{myobject ? JSON.stringify(myobject) : "undefined"};
在这种情况下,您将获得以下HTML代码,您将不得不在页面中的JavaScrip代码中处理undefined
clientid
。
<script>var clientid = undefined;</script>
我希望这会有所帮助