model-view-controller - 为什么无法显示 View ?

标签 model-view-controller extjs view

我正在使用 ExtJS 5.1.1 并在另一个基于 MVC 模式的演示应用程序上进行练习。

引导有什么问题? 菜单面板未显示且未将消息打印到其console.log!

demo-app的文件结构;

index.html
app.js

app/
  view/
  -- DBMainView
  -- DBMenuPanel

app.js:

Ext.Loader.setConfig({
    enabled: true
});

Ext.application({
    views: ['DBMainView', 'DBMenuPanel'],
    name: 'MultiDB',

    launch: function () {
        console.log('this is app.js');
        Ext.create('MultiDB.view.DBMainView');
    }
});

DBMainView.js:

Ext.define('MultiDB.view.DBMainView', {
    extend: 'Ext.container.Viewport',
    alias: 'widget.dbmainview',
    requires: [
        'MultiDB.view.DBMenuPanel',
        'Ext.panel.Panel'
    ],

    layout: 'border',
    split: true,

    items: [{
        xtype: 'dbmenupanel',
        region: 'west'
    }],

    initComponent: function () {
        console.log('this is main view');
    }
});

DBMenuPanel.js:

Ext.define('MultiDB.view.DBMenuPanel', {
    extend: 'Ext.panel.Panel',
    alias: 'widget.dbmenupanel',
    width: 150,
    collapsed: true,
    collapsible: true,

    initComponent: function () {
        console.log('this is menu view');
    }
});

最佳答案

您在 initComponent 方法中缺少 this.callParent();。您可以覆盖 initComponent ,但您始终必须调用父方法,以便组件正确初始化。

The initComponent method must contain a call to callParent in order to ensure that the parent class' initComponent method is also called.

关于model-view-controller - 为什么无法显示 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45569700/

相关文章:

javascript - ExtJS - 升级到 4.2 后,Stripe rows 无法与 PreviewPlugin 一起使用

javascript - Angular JS Json 数据

javascript - 使用 knockout.js 构建 Accordion

ViewModel 中的 Extjs 链式存储到 GlobalStore

javascript - Ext Js Grid,如何在keyup上获取单元格的值?

c# - 通过连接字符串或连接对象设置 MySQL 变量?

java - Android查看performClick()和callOnClick()的区别

php - uri 未在路由器类中注册时抛出 404 错误

c# - 在 MVC 中将值从 Controller 传递到 View

view - Tabhost with view pager, ClassCast 错误