extjs - 为我的视图实现路由系统(ExtJS)
问题描述
我想在 ExtJS 中为我的基本视图实现一个路由,以便在显示它时(单击按钮)URL 会发生变化,当我想返回到初始视图时,它可以通过显示正确的视图来工作。
给我的视图类:
Ext.define('Traccar.view.newDashboard', {
extend: 'Ext.Container',
alias: 'widget.newDashboard',
id: 'geoAfricaDashboard',
routes : {
'dashboard' : ''
},
layout: {
type: 'border',
align: 'stretch '
},
height: 620,
style: {
'backgroundColor': '#909090 !important'
},
items: [{
// xtype: 'panel' implied by default
title: 'Geo-Africa Administration',
region: 'west',
xtype: 'panel',
//margin: '5 0 0 5',
width: 200,
collapsible: true, // make collapsible
id: 'west-region-container',
layout: 'fit',
items: [{
xtype: 'treelist',
store: {
root: {
expanded: true,
children: [{
text: 'Options',
leaf: true,
iconCls: 'fas fa-address-book'
}, {
text: 'Administration',
expanded: true,
iconCls: 'far fa-id-badge',
children: [{
text: 'Configuration',
leaf: true,
iconCls: 'fas fa-address-card'
}, {
text: 'User',
leaf: true,
iconCls: 'fas fa-child'
}]
}]
}
},
renderTo: Ext.getBody()
}]
}, {
xtype: 'basic-panels'
// width: '100%'
}]
我在按钮单击时呈现如下:
var dash = Ext.create('widget.newDashboard', {
renderTo: Ext.getBody(),
hideMode: 'visibility'
});
dash.show();
如何在 ExtJS (6.2.0) 中为该视图分配路由 URI?
感谢您的大力帮助?PS:我试过了
routes : {
'dashboard' : ''
},
否则 this.redirectTo("dashboard");
但两者都不起作用。
解决方案
该路线类似于触发事件。最终结果是调用了一个函数。哈希根据路由的设置方式传递给函数。您可以为每个散列调用不同的函数,也可以使用散列或 URI 的其他部分来确定要做什么。
路由器文档该网页描述了如何使用路由器。这是一个非常快速的阅读。
示例(管理仪表板、coworkee 应用程序)的常见方式是让哈希成为您要显示的面板(视图)的 xtype。
所以你的主面板扩展了'Ext.navigation.View'。然后根据散列创建视图的新实例,将其添加到主面板并使其成为活动项。您还可以检查 xtype 是否已添加到导航视图中,并将其设为活动面板。
小提琴显示路由器的使用(这不是我的)。这是一个展示如何使用路由器的小提琴。我建议先阅读文档。sencha 文档实际上非常好,您可以学习如何按预期使用 Extjs 库并真正加快您的开发速度。
推荐阅读
- python - 是否可以使用 scipy.integrate.quadrature 计算单个变量的双积分?
- javascript - 什么是返回用户数据的 instagram API
- visual-studio-code - vscode - 扩展可折叠
- javascript - 搜索数据库时出现错误,不知道如何解决
- c - 分段默认值(双指针/结构)
- c# - 如何在 Xamarin 中设置 ContentPage 的背景图像
- javascript - parseFloat 返回 NAN 甚至很难我正在解析一个数字
- java - 如何反转链表?
- r - 使用 R 将函数应用于矩阵中的每个行组合 公共连接
- apache-spark - Hadoop 通过 Hadoop 配置文件分配 Master 和 Worker 节点的工作流程是什么?