使用t-set设置变量的值

来自Odoo大V社-odoo中文开发手册
跳转至: 导航搜索

对于更复杂的逻辑,我们可以将表达式的结果存储到变量中,以便以后在模板中使用它。要做到这点,需要使用t-set指令,命名的变量并通过t-value指令设置计算指定的值表达式。

例如,下面的代码将错过最后期限的渲染为红色,就像在上一节中,但使用red_or_black变量为CSS类的使用,如下所示:

<t t-set="red_or_black" t-value=" record.date_deadline.raw_value and   record.date_deadline.raw_value lte (new Date()) 
  ? 'oe_kanban_text_red' : ''" />
<li t-att-class="red_or_black">
<field name="date_deadline" />
</li>

变量也可以将HTML内容分配给变量,如下面的示例:

<t t-set="calendar_sign">
<span class="oe_e"></span>
</t>
<t t-raw="calendar_sign" />

oe_e CSS类使用 Entypo pictogram字体。代表日历符号的HTML被存储在变量中,这个变量在模板需要时可以使用它。Font Awesome图标集也非常好用,可能已被使用。

上一节:使用t-esc和t-raw来渲染值 下一节:使用t-call插入其他模板