且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

2017年第1贴:EXT.JS使用MVC模式时,注意如何协调MODEL, STORE,VIEW,CONTROLLER的关系

更新时间:2022-07-18 10:19:30

也调了快一天,死活找不到窍门。

MODEL, STORE,VIEW的调置测试了很久,试了N种方法,不得其果。

最后,试着在APPLICATION里加入CONTROLLER,

在CONTROLLER里加入相应的STORE和VIEW支持,

搞定。

元旦踩过两个坑,继续前行!!!:)

Ext.define('Packt.Application', {
    extend: 'Ext.app.Application',

    requires: [
        'Packt.overrides.tree.ColumnOverride',
        'Packt.overrides.grid.column.Action',

        'Packt.overrides.patch.data.ModelWithId' //ExtJS 5 bug fix - remove this once Sencha fixes it

        //,'Packt.view.film.Films'
        //'Packt.view.base.Grid'
        //'Packt.view.reports.SalesFilmCategory'
    ],
    
    name: 'Packt',
    defaultToken : 'home',
    views: [
        'login.Login'
    ],
    stores: [
        // TODO: add global / shared stores here
    ],

    controllers: [
        //'Root',
        'Menu',
        'StaticData'
    ]
    /*,
Ext.define('Packt.controller.StaticData', {
    extend: 'Ext.app.Controller',
    requires: [
        'Packt.util.Util', //#1
        'Packt.util.Glyphs',
    ],
    stores: [ //#2
        'staticData.Actors',
        'staticData.Categories',
        'staticData.Cities',
        'staticData.Countries',
        'staticData.Languages'
    ],
    views: [ //#3
        'Packt.view.staticData.BaseGrid',
        'Packt.view.staticData.Actors',
        'Packt.view.staticData.Categories',
        'Packt.view.staticData.Cities',
        'Packt.view.staticData.Countries',
        'Packt.view.staticData.Languages'
    ],
    init: function(application) {
        var me = this;
        me.control({
            'staticdatagrid button#add': {
                click: me.onButtonClickAdd
            },

2017年第1贴:EXT.JS使用MVC模式时,注意如何协调MODEL, STORE,VIEW,CONTROLLER的关系