Динамическая загрузка некласса в ExtJS 4 - PullRequest
1 голос
/ 27 марта 2012

У меня есть два класса в ExtJS 4 (сетка и форма) с коррелированными свойствами (определения столбцов и полей).

Я хочу создать общий файл определений для них и динамически загрузить его:

# app/common/Columns.js

Ext.ns('myapp.common');
myapp.common.Columns =
        [
        {
        text: 'Name',
        dataIndex: 'name',
        },
        {
        text: 'Email',
        dataIndex: 'email',
        }
        ];


# app/view/Grid.js

Ext.define
       (
       'myapp.view.Grid',
       {
       extend: 'Ext.grid.Panel',
       columns: myapp.common.Columns
       }
       );


# app/view/Form.js

Ext.define
       (
       'myapp.view.Form',
       {
       extend: 'Ext.form.Panel',
       items: myapp.common.Columns.map
               (
               function(v)
               {
                       return  {
                               name: v.dataIndex,
                               fieldLabel: v.text,
                               };
               }
               );
       }
       );

Как видите, app.common.Columns не является классом.

Я знаю, что могу преобразовать его в класс и переопределить конструкторы формы и сетки, чтобы использовать его, но яхотелось бы, чтобы все было просто.

Нужно ли вручную добавлять тег <script> для app/common/Columns.js или есть способ загрузить его динамически?

1 Ответ

1 голос
/ 27 марта 2012

Я не думаю, что вы можете загружать файл динамически с помощью загрузчика ExtJs, не определив там класс. Их загрузчик очень требователен к точному совпадению имени класса с именем файла. Я только что попробовал ваш образец - похоже, он не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...