gpt4 book ai didi

function - Ext.XTemplate 中的内联变量

转载 作者:行者123 更新时间:2023-12-02 00:22:29 25 4
gpt4 key购买 nike

您好,我使用 sencha touch 2,但在使用 Ext.XTemplate 时遇到了一些问题。

当我使用下一个模板并且它正常工作时:

var template = new Ext.XTemplate(
'<div title="{currentLocation:this.tr}">',
'<img src="styles/css/img/locate.png" height="30px" width="30px" />',
'</div>',
{
compiled: true,
tr: function(value) {
return 'translated ' + value;
}
}
);

template.apply({currentLoaction: 'Current location'});

<div title="Current Location">
<img src="styles/css/img/locate.png" height="30px" width="30px" />
</div>

但我更喜欢 set 'Current location'模板中的变量,但它不能正常工作({\'Current location\':this.tr} 返回空值):

var template = new Ext.XTemplate(
'<div title="{\'Current location\':this.tr}">',
'<img src="styles/css/img/locate.png" height="30px" width="30px" />',
'</div>',
{
compiled: true,
tr: function(value) {
return 'translated ' + value;
}
}
);

template.apply();

<div title="">
<img src="styles/css/img/locate.png" height="30px" width="30px" />
</div>

我尝试使用 this.tr(currentLocation)this.tr(\'Current location\')相反 currentLocation:this.tr\'Current location\':this.tr , 但随后模板返回 <div title="在这两种情况下。

任何人都可以解释我做错了什么以及如何解决我的问题吗?

最佳答案

如果用方括号括起来,可以执行任意代码,参见Ext.XTemplate .所以在你的例子中:

var template = new Ext.XTemplate(
'<div title="{[this.tr(\'Current location\')]}">',
'<img src="styles/css/img/locate.png" height="30px" width="30px" />',
'</div>',
{
compiled: true,
tr: function(value) {
return 'translated [' + value + ']';
}
}
);

document.write(template.apply());

关于function - Ext.XTemplate 中的内联变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10266850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com