Odoo 10 - Qweb t-if t-else 语法

Odoo 10 - Qweb t-if t-else syntax

我不知道 qweb 中 if-else 的正确语法是什么。

<t t-if="origin != l.origin">
  <td>foo</td>
<t t-else/>
  <td>bar</td>
</t>

这里有什么问题?

你得用<t t-else=""><td>bar</td></t>,看看documentation

在以上几行中,您已经关闭了 else 标签 <t t-else/>

你应该这样写:

<t t-if="origin != l.origin">
  <td>foo</td>
</t>
<t t-else="">
  <td>bar</td>
</t>

你也试试 t-elif :

<t t-if="origin != l.origin">
    <td>foo</td>
</t>
<t t-elif="">
    <td>bar</td>
</t>

寻找类似问题的人请注意,t-else 仅在 Odoo 10 中添加。

因此,对于 Odoo < 10,应该使用 t-if 的否定。

<t t-if="condition">
</t>
<t t-if="not condition">
</t>

对于 Odoo >= 10,

<t t-if="condition">
</t>
<t t-else="">
</t>