ExtJs MVC 应用程序无法加载



我目前正在尝试启动我创建的ExtJs MVC应用程序,并将其集成到另一个应用程序中。由于不清楚的原因,它拒绝启动,也没有给出任何合理的信息来说明它为什么会发生,查看下面的代码,我能够确定init函数运行到最后,而不是launchbeforeLaunchDas.SubApp也扩展了Ext.app.Controller

   this.subApp = Ext.create('Das.SubApp', {
        appFolder: '/Scripts/app/das/FBrowser',
        name: 'FBrowser',
        controllers: ['BrowerController'],
        dependencies: {
            css: [],
            js: []
        },
        init: function() {console.log("initialized")},
        beforeLaunch: function() {
            console.log("Before launch");
        },
        launch: function () {
            console.log("launched library");
           }

以下是来自浏览器控制器的代码:

Ext.define('FBrowser.controller.BrowserController',{
extend: 'Ext.app.Controller',
views: ['browser.tree_dir',...],
stores: [...],
requires: ['FBrowser.Utilities'],
init: function() {
    this.control({..})

有人知道可能出了什么问题吗?

编辑:好的,所以我似乎发现了部分问题,似乎没有设置应用程序路径,我仍然不明白为什么会这样,appFolder不应该指向正确的位置吗?

这很容易;

Ext.app.Controller没有

  • 应用文件夹
  • 名字
  • 启动前

如果你以这种方式初始化它,它不会调用启动方法,因为这一切都已经完成,或者更好地说属于Ext.app.Application控制器。另请注意,您只能有一个活动的Ext.app.Application实例,否则会弄乱EventBus(覆盖第一个Ext.app.Application的总线)。即使您添加了这些属性(appFolder,名称),它们也根本不做任何事情,因为它们仅在派生自Ext.app.ControllerExt.app.Application中使用

解决方案

Das.SubApp需要Ext.app.Application(如果不是真正需要,请不要扩展,因为无论如何您只能有一个实例处于活动状态)。

您可能也对这个答案或这个感兴趣

相关内容

最新更新