• jade-mixin 代码的重用


    有时候页面有好多个区块,比如列表区块,但是他们代码结构又是一模一样的怎么弄?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>
  • 相关阅读:
    iOS开发-文件管理(一)
    浅析栈区和堆区内存分配的区别
    浅谈Block传值-匿名函数(代码块)
    cell的各种使用和赋值 总结
    类方法和对象方法的区别
    属性传值 ,代理传值,单例
    类目,延展,协议
    任意点 并查集
    Codeforces 145E. Lucky Queries 线段树
    Codeforces 103B. Cthulhu 并查集运用
  • 原文地址:https://www.cnblogs.com/wzndkj/p/9286959.html
Copyright © 2020-2023  润新知