Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 控制台中出错:无法识别的别名:widget.feedform_Javascript_Extjs_Sencha Touch_Extjs6_Extjs6 Modern - Fatal编程技术网

Javascript 控制台中出错:无法识别的别名:widget.feedform

Javascript 控制台中出错:无法识别的别名:widget.feedform,javascript,extjs,sencha-touch,extjs6,extjs6-modern,Javascript,Extjs,Sencha Touch,Extjs6,Extjs6 Modern,我有以下问题。当我按下feeds.js文件夹中的addnewfeed按钮(该按钮应调用MainController.js文件中的onNewFeed函数)时,控制台中出现一个错误: 无法识别的别名:widget.feedform 当我在文件中添加MainController.js时,需要:['FeedViewer.view.main.FeedForm']控制台显示: [Ext.Loader]错误某些请求的文件无法加载 文件夹结构: MainController.js FeedForm.js Fee

我有以下问题。当我按下feeds.js文件夹中的addnewfeed按钮(该按钮应调用MainController.js文件中的onNewFeed函数)时,控制台中出现一个错误:

无法识别的别名:widget.feedform

当我在文件中添加MainController.js时,需要:['FeedViewer.view.main.FeedForm']控制台显示:

[Ext.Loader]错误某些请求的文件无法加载

文件夹结构:

MainController.js

FeedForm.js

Feeds.js

Main.js


Ext尝试动态加载组件,看起来feedform未正确注册

你试过添加吗

alias: 'widget.feedform',
到您的FeedForm.js

Panel.js作为比较:


也许你有什么建议吗?只要试着把FeedViewer.view.main.FeedForm添加到feeds Grid的要求中,在经典版本中,一切正常。在现代版本中,Main.js文件不会在现代文件夹中查找FeedForm.js和Feeds.js文件,而只在app文件夹中查找。我试图将FeedForm.js和Feeds.j移动到app文件夹,侦听器在Main.js文件中无法工作
Ext.define('FeedViewer.view.main.MainController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.main',

    onNewFeed: function () {
        var navView = this.getView(),
            form = navView.child('feedform');

        if (!form) {
            navView.push({
                xtype: 'feedform',
                reference: 'feedform'
            });
        } else {
            navView.setActiveItem(form);
        }
    }
});
Ext.define('FeedViewer.view.main.FeedForm', {
    extend: 'Ext.form.Panel',
    xtype: 'feedform',

    requires: [
        'Ext.Button',
        'Ext.field.Select',
        'Ext.form.FieldSet',
        'Ext.Toolbar'
    ],

    title: 'New RSS Feed',

    items: [{
        xtype: 'fieldset',
        items: [{
            xtype: 'selectfield',
            label: 'Select a new feed',
            labelAlign: 'top',
            allowBlank: false,
            name: 'feedUrl',
            options: [{
                value: 'http://rssfeeds.usatoday.com/usatoday-NewsTopStories', 
                text: 'USA Today Top Stories'
            }, {
                value: 'http://sports.espn.go.com/espn/rss/news', 
                text: 'ESPN Top News'
            }]
        }]
    }, {
        xtype: 'toolbar',
        docked: 'bottom',
        items: [{
            xtype: 'button',
            reference: 'savebutton',
            action: 'save',
            ui: 'action',
            text: 'Add'
        }]
    }]
}); 
Ext.define('FeedViewer.view.main.Feeds', {
    extend: 'Ext.grid.Grid',

    xtype: 'feedslist',

    requires: [
        'ContactsApp.view.feeds.MainController',
        'ContactsApp.view.feeds.MainModel'

    ],

    viewModel: 'feeds',
    controller: 'feeds',

    columns: [{
        dataIndex: 'feed',
        text: 'feed'
    }],

    items: [{
        xtype: 'toolbar',
        docked: 'left',
        items: [{
            xtype: 'button'
            text: 'Add New Feed',
            iconCls: 'fa fa-plus',
            listeners: {
                click: 'onNewFeed'
            }
        }]
    }]
});
Ext.define('FeedViewer.view.main.Main', {
    extend: 'Ext.tab.Panel',
    xtype: 'app-main',

    requires: [
        'Ext.window.MessageBox',

        'FeedViewer.view.main.MainController',
        'FeedViewer.view.main.MainModel',
        'FeedViewer.view.main.List'
    ],

    controller: 'main',
    viewModel: 'main',
    layout: 'column',

    items: [{
        xtype: 'feedlist',
        columnWidth: 0.5
    }]
});
alias: 'widget.feedform',