extjs 无法处理条件语句

发布于 2024-11-08 15:10:06 字数 1083 浏览 4 评论 0原文

我有一个像这样定义的 extjs tabpaneltoolbar

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" > 时,它工作正常。

I have a extjs tabpanel and a toolbar defined like this.

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'}
}
}

I call it like this:

var obj = {totalPrelimShares :  -10,totalPrelimNetAmount:20,totalPrelimGrossAmount : 30 };
this.ipTotalBar.update(obj);

No errors, but the {totalPrelimShares} does not show up. When I remove the tpl if="totalPrelimShares < 0" >, it works fine.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

饮惑 2024-11-15 15:10:06

您遇到的问题可能是因为 XTemplate 不知道 totalPrelimShares 是什么。在 XTemplate 文档,每当使用传递到模板配置中的变量(如您的情况下的 totalPrelimShares),它总是使用 this.* 来引用。例如:

<tpl if="this.totalPrelimShares < 0">

如果这不起作用,您还可以尝试使用文档中定义的内联运算符 {[ ... ]}

<tpl if="{[totalPrelimShares]} < 0">

The problem that you're experiencing may be because the XTemplate does not know what totalPrelimShares is. In the examples in the XTemplate documentation, whenever using a variable passed into the template configuration (like totalPrelimShares, in your case), it is always referred to using this.*. For example:

<tpl if="this.totalPrelimShares < 0">

If that doesn't work, you can also try using the inline operators {[ ... ]} as defined in the documentation:

<tpl if="{[totalPrelimShares]} < 0">
柒夜笙歌凉 2024-11-15 15:10:06
<tpl if="totalPrelimShares < 0" >

必须是

<tpl if="totalPrelimShares < 0" >

<>" 必须写为实体 <如果在条件语句中使用,则分别为 >" 文档对此有误。

<tpl if="totalPrelimShares < 0" >

must be

<tpl if="totalPrelimShares < 0" >

<, > and " must be written as entities <, > and " respectively if used within the conditional. The documentation is wrong on this one.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文