【问题标题】:Pass arguments to Jade/Pug templates将参数传递给 Jade/Pug 模板
【发布时间】:2017-12-12 16:31:35
【问题描述】:

我正在尝试将title 变量传递到_layout.pug 文件的head 部分。我看不出有什么方法可以巧妙地实现这一点,所以不得不求助于块的前置变量:

//- _layout.pug
html
    head
        block headStuff
            title #{title}
//- main.pug
extends _layout

prepend headStuff
    -var title = 'The Positioning Schema'

我是否以错误的方式攻击它?这应该是一个mixin吗?

【问题讨论】:

  • 您可以让title 包含block title
  • @Ryan 你是什么意思?我在学习 Pug 的第 1 天,所以我对可以做的事情非常粗略。
  • 好吧,现在你的head 包含一个block headStuff。同样,您的title 可以包含block title,您可以在继承的模板中将该块替换为所需的标题。 (IIRC 的语法是 block title | The Positioning Schema。)

标签: javascript html pug pugjs


【解决方案1】:

通常,像标题这样的东西会作为变量从它所连接的任何后端(节点,通常对我来说)传递。但是,如果您只是使用它直接编译成没有后端的静态 HTML,您应该能够将其传递给 block head

中的布局

layout.pug

html
  head
    //standard head stuff that applies to all pages
    block head
  body
    //generic layout stuff
    block content

main.pug

extends layout
block head
  title The main page

block content
  h1 This is the main page content
  p And more of it.

【讨论】:

  • 谢谢,不过我对传递参数特别感兴趣。这个例子很简单,实际上它会根据传入的值生成script 标签。
  • 知道了。那么您是否在没有后端语言的情况下使用它?这通常是传递参数的地方。
  • 是的,只是 Pug 和香草 JavaScript。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-28
  • 2020-04-16
  • 2019-11-15
  • 2018-02-06
  • 2018-05-02
  • 1970-01-01
相关资源
最近更新 更多