10

我正在尝试使用玉模板创建模块化布局。我想将一个脚本块从一个孩子附加到它的父母父母中。我不太确定它是否可能。

这是我的结构

布局.jade

头玉

索引.jade

用户.jade

layout.jade: doctype html#html include head

    body
        block content

头玉:

head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
    block scripts

index.jade:

extends layout

block content
    h1 Hello

    include users

用户.jade

block append scripts
    script(src='/javascripts/user.js')  

ul
    each user, i in users
        li(class=i+"-"+user) #{user} 

我想要的 html 输出应该是:

<!DOCTYPE html>
<html id="html">
    <head>
        <title>Index</title>
        <link href="/stylesheets/style.css" rel="stylesheet">
        <script src="/javascripts/user.js">  <!--// append this from user.jade into head.jade //-->
    </head>
    <body>

        <h1>Hello bob</h1>
        <li class="0-user1">user1</li>
4

2 回答 2

4

这应该是可能的,jade 文档中有一些例子可以做到这一点。你的代码看起来都很好,除了你需要缩进你的script标签,users.jade所以它在block append script指令下面缩进。

于 2012-11-25T15:28:23.863 回答
1

我尝试使用相同的方法来定义选项卡控件。我在单独的玉文件中定义了页面。每个玉文件都附加了一个包含标签页的块。直到我在我的“index.jade”中的块中附加了一些东西,它也没有工作,如下所示:

extends layout

append scripts
    //- dummy

block content
    h1 Hello

    include users

但是我还想补充一点,因为我添加了多个 .jade 文件,我在下面运行。包含jade-template 的每个文件都使用块追加来添加标签页,但添加页面的顺序颠倒了。

于 2015-08-11T09:50:05.030 回答