在extjs中添加控制器时视图不显示

View is not displaying on adding the controller in extjs

本文关键字:视图 显示 控制器 extjs 添加      更新时间:2023-09-26

当我从中删除StudentControllerrequire []List.js文件时,我的视图工作正常,但是当我包含StudentController时,没有显示任何内容。

这是我的List.js,它需要StudentController

Ext.define('MyApp.view.main.List', {
extend: 'Ext.grid.Panel',
xtype: 'mainlist',
requires: [
    'MyApp.store.Student',
    'MyApp.view.main.StudentController',
    'MyApp.store.Faculty'       
],
title: 'Student Records',
scrollable: true,
margin: 20,
layout: {
    type: 'vbox',
    align: 'stretch'
},
controller: 'student',
reference: 'studentGrid',
frame: true,
collapsible: true,
store: {
    type: 'student'
},
collapsible: true,
columns: [
    { 
        header: 'Name', 
        dataIndex: 'name',
        editor: 'textfield',
        sortable: true,
        flex: 1 
    },
    { 
        header: 'Address', 
        dataIndex: 'address', 
        editor: {
            xtype: 'textfield',
            allowBlank: false
        },
        flex: 1 
    },
    { 
        header: 'Phone', 
        dataIndex: 'phone', 
        editor: 'textfield',
        flex: 1
    },
    { 
        header: 'Gender',
        dataIndex: 'gender',
        flex: 1
    }
],
selModel: 'rowmodel',
plugins: {
    ptype: 'rowediting',
    clicksToEdit: 1
},
dockedItems: [
    {
        xtype: 'toolbar',
        dock: 'top',
        items: [
                // items to add
            }]
        }
    ],

});这里是我的StudentController

 Ext.define('Ext.view.main.StudentController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.student',

onAdd: function(button, e, options)
{
    this.createDialog(null);
},
createDialog: function(record)
{
    var me = this,
        view = me.getView();
    me.dialog = view.add({
        xtype: 'student-form',
        viewModel: {
            data: {
                title: record ? 'Edit:' + record.get('name') : 'Add User'
            },
            links: {
                currentUser: record || {
                    type: 'User',
                    create: true
                }
            }
        }
    })
    me.dialog.show();
 },
  });

为什么在中添加StudentController需要[]List.js而在删除它时一切正常

为什么在require中添加StudentController没有结果[]在List.js中,而在删除它时,一切正常

因为没有定义MyApp.view.main.StudentController类(因此,不能满足require指令)。相反,您有Ext.view.main.StudentController,这是实际工作时,require没有不存在的类在其中列出。