我有一个extjs tabpanel
和一个toolbar
这样定义。
tbar : {
{
xtype:'box',
tpl:[
'<table><tr><td>',
'<b>Total Prelim Shares:</b> ',
'</td><tpl if="totalPrelimShares < 0" ><td width="30" style = "color:red">',
'{totalPrelimShares}',
'</td></tpl><td width="10">',
'<span class="xtb-sep"></span>',
'</td><td>',
'<b>Total Prelim Gross Amount:</b>',
'</td><td width="70">',
'{totalPrelimGrossAmount}',
'</td><td>',
'<b>Total Prelim Net Amount:</b>',
'</td><td width="70">',
'{totalPrelimNetAmount}',
'</td></tr><table>'
],
ref:'../ipTotalBar',
data:{totalPrelimShares :'0'}
}
}
我称之为:
var obj = {totalPrelimShares : -10,totalPrelimNetAmount:20,totalPrelimGrossAmount : 30 };
this.ipTotalBar.update(obj);
没有错误,但{totalPrelimShares}
没有出现。当我删除tpl if="totalPrelimShares < 0" >
时,它可以正常工作。
答案 0 :(得分:0)
您遇到的问题可能是因为XTemplate
不知道totalPrelimShares
是什么。在XTemplate
documentation的示例中,只要使用传递给模板配置的变量(例如totalPrelimShares
,在您的情况下),就始终使用this.*
引用它。例如:
<tpl if="this.totalPrelimShares < 0">
如果这不起作用,您还可以尝试使用文档中定义的内联运算符{[ ... ]}
:
<tpl if="{[totalPrelimShares]} < 0">
答案 1 :(得分:0)
<tpl if="totalPrelimShares < 0" >
必须是
<tpl if="totalPrelimShares < 0" >
如果在条件中使用,则必须将 <
,>
和"
分别写为实体<
,>
和"
。这个文档是错误的。