tag:变量-Variable
变量-Variable
- assign
 - capture
 - decrement
 - increment
 
assign
创建一个新变量。
语法:
- variable_name: 正在创建的变量的名称。
 - value: 您想要分配给变量的值。
 
{% assign variable_name = value %}
举例:
// 1.数据
{
  "product": {
    "title": "Health potion"
  }
}
// 2.代码
{%- assign product_title = product.title | upcase -%}
{{ product_title }}
// 3.输出
HEALTH POTION
capture
创建一个具有字符串值的新变量。和assign不同的是,capture可以创建复杂逻辑的字符串。
语法:
- variable:正在创建的变量的名称
 - value:您想要分配给变量的值。
 
{% capture variable %}
  value
{% endcapture %}
举例:
// 1.数据
{
  "product": {
    "title": "Health potion"
  }
}
// 2.代码
{%- assign up_title = product.title | upcase -%}
{%- assign down_title = product.title | downcase -%}
{%- assign show_up_title = true -%}
{%- capture title -%}
  {% if show_up_title -%}
    Upcase title: {{ up_title }}
  {%- else -%}
    Downcase title: {{ down_title }}
  {%- endif %}
{%- endcapture %}
{{ title }}
// 3.输出
Upcase title: HEALTH POTION
上面的例子逻辑大致为:
- 变量定义:
{%- capture title -%}部分,创建了一个变量title,值为标签内部的逻辑(根据逻辑,值为:HEALTH POTION) - 变量输出:
{{ title }} 
decrement
创建一个新变量,默认值为 -1,每次后续调用时该变量的值都会减少 1。
语法:
{% decrement variable_name %}
举例:
// 1.代码
{% decrement variable %}
{% decrement variable %}
{% decrement variable %}
// 2.输出
-1
-2
-3
increment
创建一个新变量,默认值为 0,每次后续调用都会增加 1。
语法:
{% increment variable_name %}
举例:
// 1.代码
{% increment variable %}
{% increment variable %}
{% increment variable %}
// 2.输出
0
1
2