ExtJS7: тег привязки не учитывает внешние маршруты - PullRequest
0 голосов
/ 13 марта 2020

Если маршрут с внешним видом используется с тегом привязки, нажатие на эту ссылку всегда открывает новую вкладку. Это заставит перераспределить приложение ext в новую вкладку. Есть ли способ заставить тег привязки или привязку в html перенаправить ct к этому представлению вместо этого в приложении

                        {
                            xtype: 'component',
                            autoEl: {
                                tag: 'a',
                                html: 'Some Action',
                                href: '#someroute'
                                class: 'link-some-action'
                            },
                            listeners: {
                              click: function(){
                                console.warn("I AM TRAPPED");
                              }
                            }
                        }

ИЛИ

                        {
                            xtype: 'box',
                            html: '<a href='#someaction' class="link-some-action"> Saome Action </a>',
                            listeners: {
                              click: function(){
                                console.warn("I AM TRAPPED");
                              }
                            }
                        }

В обоих случаях, как показано, нажав на элемент открывает новую вкладку, заставляя приложение загружаться снова

1 Ответ

0 голосов
/ 13 марта 2020

в вашем случае вы должны добавить слушателя к el, вот скрипка

Ext.define('Controller', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.mycontroller',

    onElClick:function(){
        console.log("I AM FREE");
        this.redirectTo("test")
    }

});
Ext.create('Ext.panel.Panel', {
    style: "border: 1px solid red",
    height: 100,
    controller:"mycontroller",
    title: "test",

    renderTo: Ext.getBody(),
    items: [{
        xtype: 'component',
        autoEl: {
            tag: 'a',
            html: 'Some Action',
            href: '#someroute',
            class: 'link-some-action'
        },
        listeners: {
            el: {
                click: "onElClick"
            }
        }
    }]
})
...