2013-12-10 2 views
0

Я работаю над проектом extjs. У меня есть несколько страниц, которые могут иметь разный макет. Хорошая идея иметь другой видовой экран, или лучше всего использовать один видовой экран в приложении и изменить компоненты. Спасибо.Лучшая практика с использованием Extjs

+0

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

+0

Благодарим вас за комментарии, я узнал, что макет карты - это правильный способ решить эту проблему, вместо того чтобы использовать несколько видовых экранов – cheftao

ответ

0

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

Скажем у вас есть приложение, которое является магазином продаж, где клиенты и сотрудники должны получить доступ, что бы вы сделали в этом случае?

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

SalesApp 
    app 
     model 
     view 
     controller 
     store 
    employees.html //includes employees.js 
    customers.html //includes customers.js 
    employees.js  //includes all views, models controllers and stores required 
    customers.js  //... 

Внутри employees.js вы можете создать окно просмотра, как это:

Ext.application({ 
    requires: ['Ext.container.Viewport'], 
    name: 'RCV2', 
    appFolder: 'app', 
    controllers: [], 
    views: [ 
     "ReporteConcentradoGrid", 
     "ParametrosReporteConcentradoForm" 
    ], 
    stores: [ 
      "ReporteConcentradoStore" 
    ], 
    model: [ 
      "RegistroReporteConcentrado" 

    ], 
    launch: function() { 

     Ext.create("Ext.container.Viewport",{ 
      layout: 'border', 
      items:[ 
        { 
         xtype: 'prcf', 
         title: 'Filtros', 
         region: 'north', 
         height: 100  
        }, 
        { 
         xtype: 'reporteconcentradogrid', 
         region: 'center' 
        } 

        ] 
     }); 
    } 
}); 
Смежные вопросы