Template inheritance

jade支持通过关键字blockextends来实现模板继承。

比如,在layout.jade写上如下代码

html
head
title My Site - #{title}
block scripts
script(src='/jquery.js')
body
block content
p Nothing
block foot
#footer
p some footer content

中间的block content代表块,content表示块名字。

另一个index.jade文件中可以继承layout.jade文件。

extends ./layout.jade

block scripts
script(src='/jquery.js') block content
h1= title
each pet in pets
include pet

在index.jade文件中,父模板中的block content块将在子模板中被重写(包括块内内容),即编译index.jade生成的html文件中,content块中将不含有<p>Nothing</p>这部分代码。

这是一个递归的过程。

extends ...表示从layout.jade文件中将所有代码已经继承过来了。

extends后可以加需要继承文件的相对路径,若在同一文件下,用不含后缀名的文件名即可。

Append block、Prepend block

对于之前的layout.jade代码中的block scripts块,若想在index.jade中的block scripts块中继续添加script(src='/jquery.js')这条语句,即生成的index.html中block scripts中包含两条script语句,那么只需将index.jade中block scripts改为block append scriptsblock prepend scripts即可。如下:

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

或者如下

block prepend scripts
script(src='/jquery.js')

这两种方法的区别在于,prepend先编译子模板块内的内容再编译父模板块内的内容,append则相反。

Jade之Template Inheritance的更多相关文章

  1. The template engine

    Play has an efficient templating system which allows to dynamically generate HTML, XML, JSON or any ...

  2. The Django template language 阅读批注

    The Django template language About this document This document explains the language syntax of the D ...

  3. vue 使用Jade模板写html,stylus写css

    vue 使用Jade模板写html,stylus写css 日常工作都是使用vue开发页面和webApp,写的多了就想偷懒简化各种书写方式,所以使用了jade写html,stylus写css,省了很多的 ...

  4. 模板引擎之jade 学习

    jade 模板引擎在node express 开发中有较多的使用,首先我们看一个简单的使用jade 生成的html 页面的标签代码: doctype html html(lang="en&q ...

  5. jade简介

    模板引擎:将动静部分糅合的一种实现机制或者技术 var items = [ {title:'..',photo:'http://',id:1,desc:'a'}, {title:'..',photo: ...

  6. inheritance in kentico

    Visual inheritance http://devnet.kentico.com/docs/7_0/devguide/index.html?visual_inheritance.htm The ...

  7. Node.js高级编程读书笔记 - 4 构建Web应用程序

    Outline 5 构建Web应用程序 5.1 构建和使用HTTP中间件 5.2 用Express.js创建Web应用程序 5.3 使用Socket.IO创建通用的实时Web应用程序 5 构建Web应 ...

  8. 基于express+mongodb+pug的博客系统——pug篇

    很久之前就想自己搭一个博客了,最开始用hexo+github,但是换电脑后总是有些麻烦.后来使用WordPress,但是用WordPress总觉得没什么技术含量,前后端都是人家写好的,而且买的垃圾虚拟 ...

  9. Go 语言相关的优秀框架,库及软件列表

    If you see a package or project here that is no longer maintained or is not a good fit, please submi ...

随机推荐

  1. delphi中Message消息的使用方法

    实例1 unit Unit1; interface   uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls ...

  2. JAVA 新手问题: Request 编码编译出错,Unhandled exception type UnsupportedEncodingException

    新手: 编写如下代码 private void Exec(HttpServletRequest Req,HttpServletResponse Response) //throws ServletEx ...

  3. HTML中行内元素与块级元素的区别

    块级元素:独占一行,可设宽高,内外边距:块级元素有form,p,h1到h6,ol ,ul ,dl和dd和dt ,hr,li,pre,caption ,div ,table ,tr ,td ,th等. ...

  4. Linux 账户信息显示和实现账户安全

    一.账户信息显示 1.groups命令 使用groups命令可以显示指定用户账户的组群成员身份. [root@redhat2 ~]# groups --help Usage: groups [OPTI ...

  5. LinQ To Object 基本用法

    http://www.cnblogs.com/terryzh/archive/2012/11/10/2763538.html LinQ To Object 基本用法 inq的基本语法:var resu ...

  6. ORACLE 常用函数 日期/时间函数

    ---------------------------------------------日期/时间函数----------------------------------------------- ...

  7. ajax跨域请求带cookie

    调用网站:a.xxx.com jQuery(document).ready(function () { $.ajax({ type: "get", async: true, url ...

  8. java获取当前执行文件的路径

    需要知道执行jar包时,jar包所在的路径. 开始使用了 p.getClass().getResource("/").getPath(); 结果在IDE里面使用是好的,但是在命令行 ...

  9. AX2012R2使用SQL Server2014安装报表扩展报错

    尝试在SQL Server2014上安装AX2012 R2的Reporting Services扩展失败,出现如下错误: "Could not load file or assembly ' ...

  10. 编程范式 epesode7,8 stack存放指针类型and heap,register

    这一节从后往前写. ____stack and heap ___stack由 汇编语言操控管理,数据先入后出. 栈是存放局部变量,函数调用子函数时,该函数在栈中占用的空间会增大,用于存放子函数的局部变 ...