代码之家  ›  专栏  ›  技术社区  ›  developer747

EXTJs:添加子视图

  •  0
  • developer747  · 技术社区  · 10 年前

    我正在尝试这个 sencha fiddle 。如何显示子视图?

    //CHILD
    
    //Controller
    Ext.define('MyApp.controller.child', {
        extend: 'Ext.app.ViewController',
        alias: 'controller.child',
        init: function() {
            alert("Initializing Child");
        }
    });
    
    
    
    //View
    Ext.define('MyApp.view.child', {
        extend: 'Ext.form.Panel',
        alias:'widget.child',
        controller: 'child',
        title: 'Alien',
        width: 200,
        html: '<p>Test Child!</p>',
        renderTo: Ext.getBody()
    
    });
    
    //----------
    
    //PARENT 
    //Controller
    Ext.define('MyApp.controller.Whatever', {
        extend: 'Ext.app.ViewController',
        alias: 'controller.Whatever',
        init: function() {
            alert("initializing parent");
        }
    });
    
    
    
    //View
    Ext.define('MyApp.view.Whatever', {
        extend: 'Ext.form.Panel',
        alias:'widget.Whatever',
        controller: 'Whatever',
        title: 'Hello',
        xtype:'child',
        width: 200,
    
        renderTo: Ext.getBody()
    
    });
    
    //------------------------
    
    
    Ext.application({
        name: 'MyApp',
    
    
        launch: function() {
    
            Ext.create('MyApp.view.Whatever');
    
        }
    });
    
    1 回复  |  直到 10 年前
        1
  •  1
  •   developer747    10 年前

    这是正确的方法

    //CHILD
    
    //Controller
    Ext.define('MyApp.controller.child', {
        extend: 'Ext.app.ViewController',
        alias: 'controller.child',
        init: function() {
            alert("Initializing Child");
        }
    });
    
    
    
    //View
    Ext.define('MyApp.view.child', {
        extend: 'Ext.form.Panel',
        alias:'widget.child',
        controller: 'child',
        title: 'Alien',
        width: 200,
        html: '<p>Test Child!</p>',
        renderTo: Ext.getBody()
    
    });
    
    //----------
    
    //PARENT 
    //Controller
    Ext.define('MyApp.controller.Whatever', {
        extend: 'Ext.app.ViewController',
        alias: 'controller.Whatever',
        init: function() {
            alert("initializing parent");
        }
    });
    
    
    
    //View
    Ext.define('MyApp.view.Whatever', {
        extend: 'Ext.form.Panel',
        alias:'widget.Whatever',
        controller: 'Whatever',
        title: 'Hello',
        items:[
    
            {
                xtype:'child'
            }
        ],
    
        width: 200,
    
        renderTo: Ext.getBody()
    
    });
    
    //------------------------
    
    
    Ext.application({
        name: 'MyApp',
    
    
        launch: function() {
    
            Ext.create('MyApp.view.Whatever');
    
        }
    });