Ext JS 4: Как создать строку, содержащую код определенного объекта, уже созданного? - PullRequest
0 голосов
/ 25 октября 2011

Мне нужно закодировать приложение, которое будет создавать виджеты, это; добавление дочерних элементов в контейнер во время выполнения.

Мне нужен способ прочитать код созданного виджета, чтобы я мог сохранить его в базе данных в виде строки (я думаю, это лучший способ, так как впоследствии использование eval () может помочь при загрузке сохраненных виджетов).

Заранее спасибо.

1 Ответ

1 голос
/ 25 октября 2011

Нет, я не думаю, что вы можете сделать это, или крайне неэффективно.

Лучшим способом было бы определить, какой тип данных вам нужно сохранить, чтобы воссоздать его из простогоконфигурация.

Например, у меня есть система блогов, и в ней у нас есть 4 различных набора виджетов, а именно TextWidget, RSSWidget, BlogRollWidget, MetaWidget

Все эти виджеты унаследованы от базового класса Widget и организованы родительским классом с именем Widgets.Этот класс Widgets будет иметь возможность читать необработанную конфигурацию и заново создавать базу виджетов на type, а также некоторые другие данные, необходимые для каждого отдельного виджета.

Такая строка конфигурации можетбыть примерно таким:

{
    widgets: [{
        type: 'text',
        x: 30,
        y: 80,
        text: 'The quick brown fox jumps over the lazy dog'
    },{
        type: 'blogroll',
        x: 60,
        y: 120,
        links:[{
            title: 'Google',
            link: 'http://www.google.com'
        }]
    },{
        type: 'meta',
        x: 80,
        y: 60
    }]
}

Таким образом, у вас есть возможность воссоздать различные типы виджетов на основе конфигурации, и в то же время вы можете просто stringify сохранить его вваша база данных.

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