在"管理员信息中心"创建新视图来自ExtJs 6的模板

时间:2016-09-12 19:53:42

标签: javascript extjs extjs6

我从ExtJs 6开始。

我安装了"管理员信息中心"我的应用程序中的模板,现在我无法创建新菜单项并看到它打开了。

在不构建应用程序的情况下,添加此项目需要执行哪些步骤,并避免使用#Ext;创建无法识别的类名称/别名:widget。 [...]"错误?

2 个答案:

答案 0 :(得分:1)

嗯,ExtJS有很长的学习曲线,它还有很好的文档和教程。您应该查看Core ConceptsArchitectureTutorial

暂且不说,您看到[Ext.create] Unrecognized class name / alias: widget. [...]错误,因为Ext无法找到您要创建的课程。

每次要使用Ext.create("MY_APP.view.MY_CLASS")创建类时,都应确保实际加载包含MY_APP.view.MY_CLASS的javascript文件。

通常您可以在Application.jsview/Main.js中使用require来加载js文件

Ext.define('MY_APP.view.Main', {
    extend: 'Ext.window.Window',
    requires: ['MY_APP.view.MY_CLASS'],
    xtype: 'mainView'
});

请注意,MY_APP.view.Main实际上转换为ExtJS文件夹结构,这意味着MY_APP.view.Main类应该在app/view/Main.js中定义(这是ExtJS在使用{{1}时尝试加载的文件}})

再次,你应该看看ExtJS docs and guides

答案 1 :(得分:1)

假设基于AdminDashboard导航树的常规菜单系统及其主控制器"哈希令牌以路由"基于视图创建方案,我成功了以下内容:

  • 确保可以从Web应用程序上下文根目录直接访问应用程序源。
  • 从模板生成应用程序后至少一次,使用“sencha app build development”重新编译。从应用程序主目录。
  • 将视图类添加到具有相应xtype的系统(用作xtype小部件别名,这需要匹配导航路径的app url哈希标记)。注意@ Gasper关于文件夹设置的答案。
  • 您既可以明确要求该类,也可以使用“sencha app refresh”更新引导加载程序,这样可以让应用程序的引导程序系统了解这些类及其别名和备用项。
  • 请注意,admin-dashboard mainControlller还会尝试使用匹配的' routeId'在NavigationTree商店中查找节点。或者' viewType'属性。如果查找失败,您将获得“404'因此,您需要将此逻辑短路,或确保新视图的xtype在NavigationTree存储中具有匹配的viewType或routeId。
  • 现在,使用与组件的xtype匹配的哈希标记进行页面刷新应该将组件加载到主视图中。