【发布时间】:2015-06-30 21:28:40
【问题描述】:
我正在使用 Sails.js,它带有 ejs 模板。有一个名为 layout.ejs 的默认视图,它始终包含来自其他模板的正文部分。 title 元素在 layout.ejs 中定义,因此总是相同的。由于 SEO,我想根据包含的视图更改标题。有没有办法知道在 .ejs 文件中实际从 Sails 调用哪个视图?
【问题讨论】:
我正在使用 Sails.js,它带有 ejs 模板。有一个名为 layout.ejs 的默认视图,它始终包含来自其他模板的正文部分。 title 元素在 layout.ejs 中定义,因此总是相同的。由于 SEO,我想根据包含的视图更改标题。有没有办法知道在 .ejs 文件中实际从 Sails 调用哪个视图?
【问题讨论】:
将layout.ejs 的<title> 标签更新为
<title><%= title %></title>
并从您的控制器发送title 值以及其他数据,例如
res.view('viewname', { title: 'YourTitle', data: data });
希望这会有所帮助!
【讨论】:
title is not defined at eval 一起失败。我在这里扩展了这个解决方案:stackoverflow.com/questions/53520452/…