我有一个来自数据库的对象,带有一些我想用玉渲染的降价标记。但是怎么做?当我应用 :markdown 过滤器时,我不能再将对象用作对象,但它会被视为文本。
我从这里开始:
p
:markdown
entry.content
呈现为平原:
entry.content
所以我尝试将 = 和 - 放在前面或将 #{} 包裹起来。有可能吗?
如this answer中所述,我找到了一种简单的方法。它使用标记库,所以首先安装它。
$ npm install marked --save
在路由器页面
var markdown = require('marked');
var text = '**new text**';
res.render('template', {text:text, markdown:markdown});
在 template.jade 中,尝试以下任何行
!= markdown(text);
p!= markdown(text);
在我看来,这是为降价实现动态过滤器的最干净的方式。
过滤器是编译时的,所以如果你想在运行时变量上运行降价过滤器,你必须自己渲染降价并将它传递给你的玉视图: