如何在单击按钮时路由到视图ExtJS 6.2

问题描述

所以我创建了两个视图:一个登录对话框,另一个(以下)是仪表板。 登录时,我使用this.redirectTo("dashboard",true);希望它会在下一个视图(下图)中触发路由链接处理程序,但是没有用;所以我手动设置触发器,并使用视图的实例触发处理程序。

   Ext.define('mine.view.newDashboard',{
            extend: 'Ext.Container',alias: 'widget.newDashboard',id: 'project1',routes:{
                     '#dashboard':{
                         action:'onDashboardView'
                     }
                     },onDashboardView:function(){
                    var dash =  Ext.create('widget.newDashboard',{
                    renderTo: Ext.getBody(),hideMode: 'visibility'
                 });
                              dash.show();
             },....

我的问题是,如何像上述第一种方法那样正确地进行路由,以便在URL更改为包含“ #dashboard”部分时第一个显示

UPDATE2:目前,浏览器的上一个和下一个都不执行任何操作。 谢谢!

解决方法

您正在进步。从路由中删除哈希值

Ext.define('Mine.view.newDashboard',{
            extend: 'Ext.Container',alias: 'widget.newDashboard',id: 'project1',routes:{
                     'dashboard':{     // REMOVE THE #
                         action:'onDashboardView'
                     }
                     },onDashboardView:function(dash){
  
                              dash.show();
             },....

Fiddle

Fiddle - see the url change