Lee*_*Lee 2 javascript harp pug
我正在使用Harp创建一个站点,我想知道是否有一种方法可以使用Jade块和正常的!= yield工作方式.基本上,对于页面特定的脚本,我想将一个块传递给我的布局.目前,无论我在模板中的块中拥有什么,都会被传递到我的布局中.
例如:
// _layout.jade
html
head
title Hello, world
body
!= yield
div Random delimiter
block scripts
// index.jade
h1 Hello, world
block scripts
script(src='/some/script.js').
div Not working
Run Code Online (Sandbox Code Playgroud)
输出:
<html>
<head>
<title>Hello, world</title>
</head>
<body>
<h1>Hello, world</h1>
<div>Not working</div>
<div>Random delimiter</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
是的,你可以这样做:
// _custom_layout.jade
html
head
title Hello World
body
block main_content
//- Default main content
div Delimiter
block scripts
//- Default scripts here
Run Code Online (Sandbox Code Playgroud)
和
// index.jade
extends _custom_layout.jade
block main_content
h1 Hello From Index
block scripts
script(src='/some/script.js').
Run Code Online (Sandbox Code Playgroud)
这应该输出
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Hello From Index</h1>
<div>Delimiter</div>
<script src="/some/script.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
block功能,请使用其他内容,_layout.jade因为该文件名在Harp中具有已定义的用途.您必须使用自定义模板分配给页面_data.json.我没有测试过这段代码,如果它有任何问题请注释,我会解决它.
| 归档时间: |
|
| 查看次数: |
447 次 |
| 最近记录: |