我正在使用 6.5.1 版本和现代工具包开发一个 extjs 项目,我有一个管理所有翻译的单例类,如下所示:
Ext.define('QApplication.Labels', {
singleton: true,
name: "Name",
email: "Email",
correctAnswer: "Correct Answer",
button: 'My Button'
});
现在它位于主视图模型中:
Ext.define('QApplication.view.main.MainModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.main',
data: {
i18n: QApplication.Labels,
}
});
现在,我用他自己的 XTemplate 定义了一个 DataView,但我必须使用单例类给出的一些翻译:
var qTpl = new Ext.XTemplate(
"<div class=\"question-text\"><a \">{questionTitle}</a></div>",
"<tpl if='totalAnswers > 0'>",
"<div class=\"question-answer-color\">{totalAnswers} {i18n.correctAnswer}
"<tpl else>",
"<div class=\"question-answer-no-color\">Unanswered</div>",
"</tpl>",
);
Ext.define('QApplication.view.quest.list', {
extend: 'Ext.dataview.DataView',
xtype: 'qList',
requires: [
'QApplication.store.QTier',
'QApplication.view.main.MainModel'
],
height: 'auto',
controller: '////',
viewModel: 'main',
store: {
type: '////'
},
itemTpl: qTpl
});
在 XTemplate 中,我定义了数据绑定 {i18n.correctAnswer},它引用了管理所有翻译的单例类,但它不采用给定值