逻辑控制

1. 条件判断

页面模板的渲染最常见的情况就是根据不同的条件需要渲染不同的内容。

HTPL 使用 #if#elseif#else#endif 来做条件判断的语法标识。

下面是一个简单的例子:

<div>
    <!-- #set auth = false -->
    <h1>个人主页</h1>
    <!-- #if(auth) -->
        <p>欢迎回来</p>
    <!-- #else -->
        <p>无权访问</p>
    <!-- #endif -->
</div>

注意这里的 #endif必须的闭合标识。

2. 循环遍历

当我们根据列表数据渲染页面时,循环遍历渲染是必不可少的。

HTPL 使用 #for#endfor 来做循环遍历。

下面是一个简单的例子:

<!-- #for(user : users) -->
    <div> username : ${user.name}</div>
    <div> nickname : ${user.nickname}</div>
<!-- #endfor -->

当遍历的对象是一个数字 n 时,表示循环 n 次:

<!-- #for(i: 2) -->
${i}
<!-- #endfor -->

以上代码将输出:12

可以通过 #break 提前跳出循环,例如:

<!-- #for(i: 100) -->
    ${i}
    <!-- #break i > 50 -->
<!-- #endfor -->

#for 内部定义了 loop 对象,可以通过该对象访问当前循环的信息,例如:

<!-- #for(user : users) -->
    <div> index : ${loop.index}</div>
    <div> username : ${user.name}</div>
<!-- #endfor -->

注意: ${loop.index} 从 1 开始。

#empty 用于在循环的对象为空时显示内容:

<!-- #for (user: users) -->
    ${user.name}
<!-- #empty -->
    No users.
<!-- #endfor -->

假设 users 未定义,则上面将输出为 No users。

上一篇:设置变量 下一篇:模板引用

results matching ""

    No results matching ""