【问题标题】:Case of multiple viewports in ExtJSExtJS 中多个视口的情况
【发布时间】:2014-10-24 12:37:07
【问题描述】:

我有一个包含许多页面/应用程序的文件夹。一种这样的应用程序称为dynamics。所以文件夹结构现在看起来像这样:

- dynamics.js
+ model
+ view
  - Viewport.js
  - Dynamics.js
+ controller

所以,如您所见,我现在只有一个页面/应用程序,但将来我会拥有很多。因此,我不想使用标准的Viewport.js 文件,而是使用Dynamics.js。但是,如果我这样配置application

Ext.application({
  ...
  autoCreateViewport:'Dynamics'
});

我得到一个空白页,即使 Dynamics.js(与 Viewport.js 相同)已加载。所以,我需要一些帮助,伙计们。

编辑

做到了。我刚刚在应用程序内部创建了一个自定义视口并使用了autoCreateViewport:false

【问题讨论】:

  • 请创建一个显示问题的小提琴。
  • 我不确定是否有必要。这个想法很简单——如何使用自定义视图和配置应用程序?我认为最简单的任务。
  • @pherris 如果您有一个正在运行的示例,其中使用了一些自定义视图而不是 Viewport.js,那么欢迎您。我一定会赞成你的回答
  • Dynamics 和 Viewport 是否完全相同? - 他们都定义了相同的类名?此外, autoCreateViewport 属性是一个布尔值(不接受字符串)docs-origin.sencha.com/extjs/4.2.2/#!/api/…,按照惯例,它会在 app/view/Viewport.js 中加载 App.view.Viewport - 我猜你的字符串被解释为真实的并且你正在加载Viewport.js,但很难说没有小提琴 :)
  • 嗯,就是这样。你可能不会想知道我是怎么做的。因为我做的不对。想象一下,我在view 文件夹中没有标准的Viewport.js 文件,而只是一堆我想与特定页面/应用程序关联的自定义视图(如dynamics.js)。在这种情况下,您将如何配置Ext.application?...至于您的问题,然后-是的,它们定义了相同的类,这就是为什么至少会加载Dynamics.js(尽管没有任何效果)

标签: javascript extjs extjs4.2 extjs-mvc


【解决方案1】:

如果您只有一个应用程序页面 (index.html),请尝试类似的方法。然后,您可以定义与第二个视口类 (Dynamics.js) 不同的默认视口类 (Viewport.js)。

Ext.application({
    name: 'MyApp',
    extend: 'MyApp.Application',
    autoCreateViewport: false,
    launch: function () {

                if (window.location.href.indexOf('/MyApp/index.html') > -1) {
                        Ext.create('MyApp.view.Viewport');
                }
                else if (window.location.href.indexOf('/MyApp/index.html?viewport=Dynamics') > -1) {
                        Ext.create('MyApp.view.Dynamics');
                }
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多