如何在 XTemplate 中调用 VIEW 函数 (itemTpl)
How to call VIEW functions within a XTemplate (itemTpl)
有几个问题可以解决这个问题,但在我的情况下不行。
我想调用超类视图中定义的函数,而不是调用 itemTpl 本身中的函数。
我在 itemTpl 中有这样的内容:
'<span class="x-button-label" style="" id="ext-element-115">{[this.getTranslation("textcodestr", "Text by default")]}</span>',
然后,我在 itemTpl 配置中添加了这个函数。
getTranslation: function (textCode, defaultText) {
var store = Ext.getStore('TranslationsStore');
var index = store.findExact('TextCode', textCode)
if (index > -1) {
return store.getAt(index).data.TextTranslated;
}
return defaultText;
}
有效,但我想将此函数移动到视图的超类,并能够在模板中调用该函数,而不是在所有应用程序模板中复制和粘贴。
当然,使用超长的行来执行函数中的操作并不理想。
有没有办法做到这一点 ?
谢谢!
米尔顿
我设法通过使用单例助手解决了这个问题,我可以从 itemTpl 调用它。
Ext.define('MyApp.util.Shared', {
singleton : true,
getTranslation: function (textCode, defaultText) {
var store = Ext.getStore('TranslationsStore');
var index = store.findExact('TextCode', textCode)
if (index > -1) {
return store.getAt(index).data.TextTranslated;
}
return defaultText;
}});
然后,在项目Tpl
'<span class="x-button-label" style="" id="ext-element-115">{[MyApp.util.Shared.getTranslation("textcodestr", "Text by default")]}</span>',
HTH!
米尔顿.
有几个问题可以解决这个问题,但在我的情况下不行。
我想调用超类视图中定义的函数,而不是调用 itemTpl 本身中的函数。
我在 itemTpl 中有这样的内容:
'<span class="x-button-label" style="" id="ext-element-115">{[this.getTranslation("textcodestr", "Text by default")]}</span>',
然后,我在 itemTpl 配置中添加了这个函数。
getTranslation: function (textCode, defaultText) {
var store = Ext.getStore('TranslationsStore');
var index = store.findExact('TextCode', textCode)
if (index > -1) {
return store.getAt(index).data.TextTranslated;
}
return defaultText;
}
有效,但我想将此函数移动到视图的超类,并能够在模板中调用该函数,而不是在所有应用程序模板中复制和粘贴。
当然,使用超长的行来执行函数中的操作并不理想。
有没有办法做到这一点 ?
谢谢!
米尔顿
我设法通过使用单例助手解决了这个问题,我可以从 itemTpl 调用它。
Ext.define('MyApp.util.Shared', {
singleton : true,
getTranslation: function (textCode, defaultText) {
var store = Ext.getStore('TranslationsStore');
var index = store.findExact('TextCode', textCode)
if (index > -1) {
return store.getAt(index).data.TextTranslated;
}
return defaultText;
}});
然后,在项目Tpl
'<span class="x-button-label" style="" id="ext-element-115">{[MyApp.util.Shared.getTranslation("textcodestr", "Text by default")]}</span>',
HTH!
米尔顿.