0

是否可以为现代(手机)和经典(桌面)主题创建一个更可能是框架包的包?我的问题与此类似。我尝试使用经典文件夹创建一个包(在此帖子package.json 之后),然后我尝试使用 Ext.require 按需调用和呈现视图。

代码:

let command = Ext.String.format(
        '{0}.classic.src.view.{1}.{2}View',
        namespace,
        screen.toLowerCase(),
        screen
      );
      Ext.require(command, function () {
        console.log('hello');
        xtype = screen.toLowerCase() + 'view';
        if (!menuview.getStore()) {
          console.log(
            'Store not yet available from viewModel binding for ' + screen
          );
          return;
        }

        if (!centerview.getComponent(xtype)) {
          centerview.add({
            xtype: xtype,
            itemId: xtype,
            heading: node.get('text'),
          });
        }

        centerview.setActiveItem(xtype);
        menuview.setSelection(node);
        vm = me.getViewModel();
        vm.set('heading', node.get('text'));
      });

假设我的包上有一个 DashboardView.js,当我尝试在 Ext.require 上调用它时,它无法加载文件。我想知道我缺少什么来按需呈现我的观点。

希望能在这里找到答案。谢谢!

4

1 回答 1

0

这称为通用应用程序。有一个非常详细的指南,展示了如何构建和构建应用程序。你最终会得到两个应用程序......一个是经典的,一个是现代的......但是您可以共享控制器和视图模型等文件。您也可以仅使用现代版执行此操作,并使用配置文件来更改基于手机、平板电脑或 PC 的 xtypes。 通用应用指南

您可以生成构建目录结构和构建脚本的默认启动器应用程序。这真的非常好。这是模型视图控制器背后的症结所在。你把数据是viewModel,规则/事件在viewController中,你所有的视图类都可以基于设备。这将构建一个通用应用示例。

sencha -sdk /home/XXX/sencha-sdks/ext-7.3.0 generate app --ext MyApp ./MyApp

如果这是在 /home/XXX/work/MyApp 中,请在浏览器中输入:

运行经典应用程序:/home/XXX/work/MyApp/index.html?profile=classic

运行现代应用程序:/home/XXX/work/MyApp/index.html?profile=modern

不知道这是否回答了你的问题....我希望它可以。

于 2020-12-17T00:35:55.963 回答