Определение магазина против создания магазина в extjs - PullRequest
0 голосов
/ 22 октября 2018

Хотелось бы узнать плюсы и минусы определения магазина VS создать магазин в ExtJS.Какой подход лучше для многих организаций?

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

На самом деле нет двух случаев, в которых нет ни лучшего, ни худшего.

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

100%случаи рекомендуют вам настроить свой магазин, возможно, вопрос, который вы можете задать, заключается в том, как создать экземпляр своего магазина.

90% случаев Я создаю экземпляр магазина, глобально определенного в приложении с использованием шаблона по умолчанию.

Дело в 10%, которое я использую в случаях в качестве основной / подробной информации, где мне нужно открыть несколько экземпляров одной и той же функции.Если я не создаю экземпляр хранилища для каждого экземпляра функциональности, каждое изменение или загрузка в хранилище будет реплицироваться в другие открытые функции, и это серьезная ошибка для пользователя.

Установите свой магазин глобально.

Вот пример создания экземпляра локально.

/**
* @class Litus.view.segundaviaBoleto.Grid
* Listagem de 2º via de boletos
*/
Ext.define('Litus.view.segundaviaBoleto.Grid',{
    extend: 'Ext.grid.Panel',
    xtype: '2viaBoleto-Grid',
    require: [
        'Litus.store.segundaviaBoleto.Store'
    ],
    allowPaging: false,
    multiSelect: false,
    viewConfig: {
        stripeRows: true,
        enableTextSelection: true
    },
    /**
    * @method initComponent
    * Tratamento da inicialização do componente.
    * @protected
    */
    initComponent: function () {
        var me = this;
        //Locally instantiated the store at the start of the grid component, because this grid is opened several times.
        me.store = Ext.create('Litus.store.segundaviaBoleto.Store');

        Ext.applyIf(me, {
            columns: [{
                text: 'Documento',
                width: 190,
                sortable: false,
                dataIndex: 'NumeroDocumento',
                align: 'center',
                style: 'text-align: center'
            }, {
                xtype: 'datecolumn',
                text: 'Vencimento',
                width: 130,
                sortable: false,
                dataIndex: 'DataVencimento',
                format: 'd/m/Y',
                align: 'center',
                style: 'text-align: center'             
            }, {
                xtype: 'numbercolumn',
                text: '(R$) Valor',
                width: 130,
                align: 'right',
                sortable: false,
                dataIndex: 'ValorAtual',
                style: 'text-align: center',
                format: '#,##0.00'
            }, {
                text: 'Empresa',
                flex: 1,
                sortable: false,
                dataIndex: 'Descricao',
                align: 'left',
                style: 'text-align: center'
            }]


        });
        me.callParent(arguments);
    }
});
0 голосов
/ 23 октября 2018

Если вы определяете хранилище, хранилище (если оно находится глобально, а не внутри модели представления) будет автоматически зарегистрировано в процессе запуска приложения, если вам это потребуется.

Вместо этого, если вы создаете среду выполнения магазинаВам необходимо зарегистрировать его перед использованием как глобальный магазин ( с использованием функции regStore )

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

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

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

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

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

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

...