Модель ExtJS 4.2.1 — поле defaultValue:неопределенное не является функцией
-
26-12-2019 - |
Вопрос
В моем приложении я получил, например.две такие модели:
Ext.define('App.model.Translation', {
extend: 'App.model.MRModel',
requires: 'App.model.TranslationItem',
fields: [
...
],...
и
Ext.define('App.model.administration.Station', {
extend: 'App.model.MRModel',
requires: [
'App.model.Translation',
'App.classes.proxy.ProxyNegotiator'
],
fields: [
...
],...
и в моей Model Station я хочу добавить поле со значением по умолчанию для нового перевода, например:
Ext.define('App.model.administration.Station', {
extend: 'App.model.MRModel',
requires: [
'App.model.Translation',
'App.classes.proxy.ProxyNegotiator'
],
fields: [
{ name: 'Id', type: 'int', convert: null },
{
name: 'Name',
type: 'auto',
convert: function(value) {
...
},
defaultValue: new App.model.Translation()
},
хотя, когда я вставляю эту строку со значением по умолчанию, я получаю следующую ошибку: Uncaught TypeError: undefined is not a function
Кажется, класс Translation не загружен..Я этого не понимаю, потому что добавил класс в массив require...
Пожалуйста помоги.
Решение
А defaultValue
— это строка или объект, который должен быть значением по умолчанию.
Проблема в том, что new App.model.Translation()
вероятно, не возвращает то, что вам нужно.Он должен возвращать пустую строку, 0 или что-то подобное (простое значение по умолчанию для Имя).
Если вы хотите перевести, вам следует использовать конфигурацию convert
нравиться
convert: function(value) {
App.model.Translation.translate(value)
},