如何在 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!
米尔顿.