jade模板引擎(下)

[html]  view plain  copy

      三)模板继承

      1) jade会利用extends,block来实现父子模块的继承;

            1.1)block:

           父模块:用来引入指定jade块;

           子模块:用来定义某个jade块的内容;

            ps:jade块会覆盖父块中某处引入该jade块中所包含的后代元素的内容;

           1.2) extends:

             将子模块继承父模块,父模块中的内容会出现在子模块中;

              语法:extends 文件

          2)前置,后置追加:

           2.1)前置:在jade块默认的内容前添加该jade块定义的内容 ;

            语法:block prepend  指定jade块

             eg:      父:        doctype    html                                                 (子)   extends 父

                                          html                                                                                         block prepend scriptA

                                                head                                                                                            script(title="3")

                                                       block scriptA                                                                         script(title="4")

                                                                 script(title="1")

                                                                 script(title="2") 

            

             最后script加载的顺序是3412;

              2.2)后置:在jade块默认的内容后方添加该jade块定义的内容:

                       语法:    block  append 指定jade块                                     

             eg:      父:        doctype    html                                                 (子)   extends 父

                                          html                                                                                         block append scriptA

                                                head                                                                                            script(title="3")

                                                       block scriptA                                                                         script(title="4")

                                                                 script(title="1")

                                                                 script(title="2") 

            最后script执行顺序:1234;

      四)模块包含:

            定义:jade可以将静态资源(html,css,js,jade)以文本块的形式引入到jade中指定位置;

            语法:     include filename(相对当前文件路径);

            eg:

[html]  view plain  copy
  1. doctype html  
  2.     html  
  3.           head  
  4.                 include  jade/exam  
  5.                 style  
  6.                       include style/exam.css  
  7.                  script  
  8.                       include js/exam.js  
  9.            body  
  10.                 #d1  
  11.                      p welcome  
  12.                 #d2  
  13.                      include jade/contentA  
  14.                      p end  
  15.                  block contentB  
  16. jade/exam:  
  17.             titletitle  
  18. etyle/exam.css:  
  19.              #d1{.....}  
  20.              #d2{.....}  
  21. ja/exam.js:  
  22.               console.log("ok");  
  23. jade/contentA:  
  24.               p: span#s1(title="#{变量}")= 变量  
因为include可以包含块内容,而引入的内容会在块内容之前出现,所以可以用yeild可决定块内容的摆放位置;

 eg:      

[html]  view plain  copy
  1. include  jade/one  
  2.             p 1  
  3.             p 2  
  4. jade/one:  
  5.             p 3  
  6.             yeild  
  7.             p 4  
  8. 最后结果是:3 1 2 4  
         五)mixins

                定义:用来定义重复利用的块;

                语法:mixin  name

                                     content

                          +name( )     //调用

            5.1)可以在mixin中引入参数;

                    eg:

[html]  view plain  copy
  1. mixin  A(name)  
  2.           div(class="#{name}")  content  
  3. +A("i1")  
  4. +A("i2")  
           5.2)mixin引入外部块:

eg:

[html]  view plain  copy
  1. mixin A(name)  
  2.          p(title="i") = name  
  3.          if block  
  4.             block  
  5.          else  
  6.             p one  
  7. +A("Hi")  
  8.    p i1  
  9.    p i2  
ps:block在mixin中表示外 部块的后代内容;

        六)case

              定义:case....when与 switch....case功能基本一致;

              语法:

                         case   表达式

                                  when  条件1:contentA

                                  when  条件2:contentB

                                  .......

                                  default : contentN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值