我的mixin需要title
和content
。
mixin card-header(title, content)
.card.section
.card-header.secondary-color.white-text
h4.card-title= title
.card-body
p= content
当我使用mixin时只使用文本它工作正常,但是当我将内联元素添加到字符串中时,例如code
,b
,em
等,它不会#39 ; t创建标签,它只显示pug语法。
+card-header('Page Header', 'I have #[b bold] text')
有了这个,我希望输出为I have <b>bold</b> text
相反,它正在创建I have #[b bold] text
我可以做些什么来获得理想的结果?
答案 0 :(得分:2)
这实际上是因为特殊字符默认情况下会获得转义序列替换。由于您不需要,只需将p = content替换为p!= content。
所以,让你的哈巴狗代码看起来像这样:
mixin card-header(title, content)
.card.section
.card-header.secondary-color.white-text
h4.card-title= title
.card-body
p!= content
+card-header('Page Header', 'I have <b>bold</b> text')
答案 1 :(得分:0)
哈巴狗不会两次渲染文字,但是你可以像这样在你的混合中放一块:
mixin card-header(title, content)
.card.section
.card-header.secondary-color.white-text
h4.card-title= title
.card-body
block
+card-header('Page Header')
p I have #[b bold] text