• jsrender for array 和for object语法


    for array 循环数组

    循环使用案例

    定义数组数据

    var  data = {
       names: ["Maradona","Pele","Ronaldo","Messi"]
     }

    模版中使用

    {{for names}}
      <div>
        <b>{{: #index+1}}.</b>
        <span>{{: #data}}</span>
      </div>
    {{/for}}

    输出结果

    1. Maradona
    2. Pele
    3. Ronaldo
    4. Messi

     索引可以在循环中通过特殊字面量#index获取,特殊字面量#data相当于this,在本例中表示每一个name。

    另jsrender中使用for循环时如使用if等判断时虽然不创建常规数据作用域,但却干扰了隐藏作用域。也就是说,{{if }}不会阻断常规数据(你传入的数据)的可见性,但会干扰隐藏数据(#index、#parent)的可见性。

    所以获取索引下标时尽量使用#getIndex()获取索引,避免使用#index,除非你的应用足够简单。

    可以尝试下面两者使用后的区别对比

    1.

    {{for names}}
      {{if #data.indexOf("M") == 0}}
        <div>
          <b>{{: #index+1}}.</b>
          <span>{{: #data}}</span>
        </div>
      {{/if}}
    {{/for}}

    2.

     {{for names}}
       {{if #data.indexOf("M") == 0}}
         <div>
           <b>{{: #getIndex()+1}}.</b>
           <span>{{: #data}}</span>
         </div>
       {{/if}}
     {{/for}}

    for object 进入object中

    这里for不代表循环,表示进入到object对象中。把当前的上下文设置为Object,类似于Handlebars.js中的with。

     举个例子:

    var data =
    {
      "title": "The A team",
      "members": [
        {
          "name": "Pete",
          "city": "members_city",
          "address": {
            "city": "address_city",
            "city1": "address_city1",
            "city2": "address_city2"
          }
        }
      ]
    }

    模版

    {{for members}}
      {{for address}}
        <p>.{{:city}}</p>
      {{/for}}
    {{/for}}

    结果

    address_city

      从结果可以看出,虽然members的item下也有city属性,但由于通过{{for address}}进入到了address指向的Object中,{{:city}}直接从address中获取了。

         同时,address有三个属性,但结果只输出了一行,证明{{for Object}}是不会循环的,仅仅是切换一下this。

  • 相关阅读:
    SpringBoot的 CommandLineRunner的使用
    Lombok中关于@Data的使用解析
    @Autowired(required=false)注入注意的问题
    Java8新特性之StreamStream方法
    Java8新特性之Streamcollect方法
    Java 8 Stream.distinct() 列表去重示例
    Java开发之@PostConstruct和@PreConstruct注解
    并发基础篇(六):线程Thread类的start()方法和run()方法
    【MongoDB】MongoDB的复制(1)
    【PostgreSQL】PostgreSQL重建与主库不一致的从库
  • 原文地址:https://www.cnblogs.com/hwaggLee/p/4573528.html
Copyright © 2020-2023  润新知