我有一个名为SELECT STR_TO_DATE("09-02-2018", '%d-%m-%Y')
的设置页面,它的posting.pug
是哈巴狗extends
模板。
我的应用程序中的几个设置页面在哪里?我想将变量settingsLayout
传递到posting=1
页,以向用户显示发布页面是当前页面。
如何将变量传递给扩展的模板?
我试图在settingsLayout
之前设置一个变量。那是不允许的。
我尝试将其作为属性传递-不起作用。
答案 0 :(得分:2)
您可以尝试这样
settingsLayout.pug
block variables
doctype html
html
head
body
// Try to call variable here
h1 posting
posting.pug
extends settingsLayout
block variables
- var posting = 1
我希望这项工作!
答案 1 :(得分:0)
唯一不起作用的是覆盖包含文件中的pug变量。
很好用php compiler pug-php/pug@^3.4
但不适用于
webpack pug-loader@^2.4.0 pug@^2.0.4 webpack@^4.43.0 webpack-dev-server@^3.11.0
。
我有一个更复杂的版本。
我想覆盖很多变量,例如,我有pageTitle,siteTitle,siteDivider变量。
我的主页是views/index.pug
。
我的布局是views/layouts/default.pug
。
我将默认变量存储在几个文件中:views/vars/page.pug
,views/vars/site.pug
。
让我们从变量开始:
文件views/vars/page.pug
- var pageTitle = "##Default##"
文件views/vars/site.pug
- var siteTitle = "Yaro"
- var siteDivider = "|"
文件views/index.pug
extend layouts/default
block vars
include vars/site
include vars/page
- var pageTitle = "Business Solutions & IT development"
文件views/layouts/default.pug
block vars
include ../vars/site
include ../vars/page
doctype html
html
head
meta(charset="utf-8")
meta(name="viewport", content="width=device-width, initial-scale=1, shrink-to-fit=no")
title #{pageTitle} #{siteDivider} #{siteTitle}
body
block body
因此,我等待标题为“业务解决方案和IT开发| Yaro
但是我只收到:业务解决方案和IT开发 没有siteDivider和siteTitle:(
但是如果我有一个像这样的文件views/index.pug
extend layouts/default
block vars
include vars/site
include vars/page
- var pageTitle = "Business Solutions & IT development"
- var siteDivider = "|"
- var siteTitle = "Yaro"
它很好用。
我的意思是使用默认变量来覆盖只需要的变量,而不是全部。