我正在开发需要本地化的 Ext JS MVC 应用程序。试图复制官方文档(http://docs.sencha.com/extjs/6.2.0/guides/core_concepts/localization.html)。语言环境文件正确加载。
控制台消息:
[W] 覆盖现有映射:“viewmodel.users”从“clt.locale.en.view.users.UsersModel”到“clt.view.users.UsersModel”。这是故意的吗?
但不显示覆盖值(它们应该是网格列标题。
模型如下所示:
Ext.define('clt.view.users.UsersModel', {
extend: 'Ext.app.ViewModel',
requires:[
// something
],
// singleton: true,
data: {
key1: 'value1',
key2: 'value2',
keyN: 'valueN',
},
stores: {
// something
}
});
绑定到视图的值如下:
bind: { text: '{key1}' }
如果我将此模型设为单例,则本地化开始工作(网格标题显示本地化值),但网格数据为空。所以有什么问题?帮助我理解它。
更新。问题已解决。我在 Sencha 论坛上找到了解决方案:在本地化文件的配置对象中添加本地化元素。例子:
Ext.define('clt.locale.en.view.users.UsersModel', {
override: 'clt.view.users.UsersModel',
config: {
data: {
key1: 'value1',
// some other keys
}
}
});