假设我正在整理比较披萨店的应用程序。 我的披萨店列表中有一个模板,如下所示:
table
tr
th Rank
th Name
th Date Ordered
th Address
each shop in shops
tr
td= shop.rank
td= shop.name
td= shop.dateOrdered
td
each line in shop.address
span #{line} <br/>
每个页面的布局应如下所示:
doctype 5
html
head
title Pizza Wars
link(rel='stylesheet', href='/style/style.css')
body
#wrapper
h1.main-title.section.group Pizza Wars
div.section.group
include side-menu
block content
当用户在&#39; / shops&#39;我想回复页面的完整html。当用户已经在&#39; /&#39;他们在页面中导航到&#39; / shop&#39;,我想只请求JSON,并渲染模板客户端(我使用backbone.js,如果有的话)息)。
由于Express不再支持布局,我怀疑我的shops.jade文件中必须extend
layout.jade,但这样做的问题是我的shops.jade文件会呈现整个页面的HTML,因此是无用的客户端,我只希望它呈现商店的表。
我考虑的另一个选项是在我的服务器代码中调用res.render两个,一个用于呈现商店列表,另一个用于将该列表作为内容呈现给布局。该解决方案显然是次优的。
有没有人看到/找到了一种方法来使用玉来满足这两种情况?
答案 0 :(得分:0)
我正在使用的解决方案是在页面加载时不在主体内部发送标记,并在该响应中包含客户端正在查看的任何页面的json数据。然后我让骨干处理渲染html。这在骨干应用程序中似乎很常见。