有时候页面有好多个区块,比如列表区块,但是他们代码结构又是一模一样的怎么弄?jade天生就是节约成本,节约时间的,mixin就是让代码块可以重用的函数
 
mixin lession
  p jade study

像这样,,一个mixin就完成了,怎么调用呢,通过一个+

+lession
=>
<p>jade study</p>
传参数的方式
mixin study(name,courses)
  p #{name}
  ul
    each course in courses
      li=course
+study('tom',['jade','node'])
=>
<p>tom</p>
<ul>
  <li>jade</li>
  <li>node</li>
</ul>
mixin的嵌套
mixin group(student)
  h4 #{student.name}
    +study(student.name, student.courses)
+group({name:'tom',courses:['jade','node']})
=>
<h4>tom</h4>
<p>tom</p>
<ul>
  <li>jade</li>
  <li>node</li>
</ul>
mixin内联代码块
mixin team(slogon)
  h4 #{slogon}
  if block
    block
  else
    p no team
+team('slogon')
  p good job

=>

<h4>slogon</h4>
<p>good job</p>
里面的good job会传到block里面去
添加属性
1、单个属性
mixin attr(name)
  p(class!=attributes.class) #{name}
+attr('attr')(class='magic')
=>
<p class="magic">attr</p>
这里的attributes.class已经转义过了,现在非转义
2、多个属性
mixin attrs(name)
  p&attributes(attributes) #{name}
+attrs('attrs')(class='magic2',id='attrid')
=>
<p id="attrid" class="magic2">attrs</p>
在不知道参数多少个的时候,拿到所有参数
mixin magic(name,...items)
  ul(class='#{name}')
    each item in items
      li=item
+magic('magic','node','jade','...')
=>
<ul class="magic">
  <li>node</li>
  <li>jade</li>
  <li>...</li>
</ul>

jade-mixin 代码的重用的更多相关文章

  1. Linux代码的重用与强行卸载Linux驱动

    (一)Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数.变量.宏等) 1.编译是由多个文件组成的Linux驱动 ...

  2. SASS实现代码的重用:混合器Mixin、继承

    1. 继承: @extend sass允许一个选择器,继承另一个选择器,通过@extend实现 .class1{ border: 1px solid #333; } .class2{ @extend ...

  3. jade模板引擎学习笔记(WebsStorm9.0.3+ nodejs+express+jade)

    jade环境搭建 jade标签写法 jade注释 jade添加类名.id.属性 jade添加脚本,css jade变量 jade多行文本显示 jade流程代码:for,each,while jade流 ...

  4. 设计模式 Mixin (混入类)

    混入(mix-in)类代表类之间的另一种关系.在C++中,混入类的语法类似于多重继承,但是语义完全不同.混入类回答"这个类还可以做什么"这个问题,答案经常以"-able& ...

  5. 关于Python的Mixin模式

    转自:http://www.bjhee.com/python-mixin.html 像C或C++这类语言都支持多重继承,一个子类可以有多个父类,这样的设计常被人诟病.因为继承应该是个”is-a”关系. ...

  6. 模板引擎jade学习

    语言参考 标签列表 doctype Tags Block Expansion Attributes Boolean Attributes Class Attributes Class Literal ...

  7. 【转载】关于Python的Mixin模式

    本博按: mixin是看起来是多继承的一种,但是,这种继承并不作为父类存在,而是增加功能到子类中. 像C或C++这类语言都支持多重继承,一个子类可以有多个父类,这样的设计常被人诟病.因为继承应该是个” ...

  8. jade安装及基本语法使用

    一.cmd安装jade: cnpm install -g jade //cnom install jade -g与上面使用效果一致. 二.jade命令行中使用: 使用cmd: jade index.j ...

  9. python mixin到底是什么 django

    1.什么是Mixin 在面向对象编程中,Mixin是一种类,这种类包含了其他类要使用的方法,但不必充当其他类的父类.其他类是如何获取Mixin中的方法因语言的不同而不同.所以有时候Mixin被描述为' ...

随机推荐

  1. WebGL半透明物体的绘制

    WebGL 中当透明和半透明物体共存时,相关设置不正确的话,物体表面会出现破碎杂乱的断面,非常影响效果,我们接着就来解决这个问题. 完成的展示Demo请看: 半透明物体和透明物体共存 α 混合 让物体 ...

  2. 使用AndEngine重制《是男人就上一百层》

    1.为什么还要做<是男人就上一百层> 一是在用Android原生API开发完<是男人就上一百层>以后,一直想体验一下用引擎开发游戏是个什么感觉,顺便也让游戏听上去高大上一些(使 ...

  3. vue时间戳转换(10位数)/(13位)

    <template> <!-- time为时间戳 --> <div>{{time | formatDate}}</div> <!-- 结果为 20 ...

  4. eNSP——配置基于地址池的DHCP

    原理: 实验案例: 拓扑图: 实验编址: 1.基础配置 根据实验编址进行实验的基础配置. 2.基于接口配置DHCP Server功能 在R1上开启dhcp 功能,在接口上开启dhcp服务功能,指定从接 ...

  5. C#学习笔记06--类/对象/访问修饰符/方法

    编程思想   1.面向过程   面向过程是要把问题解决的过程分成有一定顺序的不同步骤, 然后按照步骤一步步的将问题解决.   2.面向对象   面向对象解决问题的思路是先分析问题中所涉及的对象, 然后 ...

  6. react生成二维码

    图片实例: 简介: QRCode.js 是一个生成二维码的JS库.主要是通过获取 DOM 的节点,再通过 HTML5 Canvas 绘制而成,不依赖任何库. 用法: 1. 在项目中引入qrcode.m ...

  7. fiddler手机抓包1

    1.手机抓包配置教程:https://www.jianshu.com/p/724097741bdf 2.

  8. API参考

    http://www.yfvb.com/help/win32sdk/index.htm?page=html/13dsy.g.htm

  9. ACMComputerFactory(POJ-3436)【最大流】

    题目链接:https://vjudge.net/problem/POJ-3436 题意:要用N台机器来组装电脑,每台电脑由P个零部件构成,每一台机器的输入电脑和输出电脑的每部分都有各自的属性,机器本身 ...

  10. 矩阵拿宝物--Codeforces 1201D - Treasure Hunting Codeforces Round #577 (Div. 2)

    网上题解比较少,自己比较弱研究了半天(已经过了),希望对找题解的人有帮助 题目链接:https://codeforc.es/contest/1201/problem/D 题意: 给你一个矩形,起始点在 ...