gpt4 book ai didi

javascript - 从 ExtJS 6.6 href 链接运行 Controller 功能

转载 作者:行者123 更新时间:2023-11-30 20:05:26 25 4
gpt4 key购买 nike

是否可以从 html 字符串中的 href 标签调用 Controller 函数? ...我似乎什么都做不了,所以我想我可能做错了什么。

我正在使用 ExtJS 6.6

我有一些用户信息,然后是注销链接,但没有任何效果,这就是我所拥有的。

items: [{
region: 'north',
height: 200,
items: [{
xtype: 'panel',
layout: 'column',
items: [{
xtype: 'panel',
columnWidth: 0.3
}, {
xtype: 'panel',
columnWidth: 0.7,
html: '<div class="userstuff" style="text-align: right;">Hello, welcome to my page<br /><a href="#" class="logout">Log out</a></p></div>'
}]
}]
}]

我无法开始的一点是;

<a href="#" class="logout">Log out</a>

如果我使用按钮 xtype,我可以通过处理程序调用它,并且它工作得很好,但我现在需要将它更改为文本链接。

这是有效的按钮代码;

{
xtype: 'button',
text: 'Logout',
handler: 'onLogout'
}

获得此文本链接以调用 onLogout 的任何帮助都会很棒。

谢谢

最佳答案

您可以使用事件委托(delegate)调用onLogout。您需要像这样在面板上附加监听器

{
xtype: 'panel',
listeners: {
element: 'el',
delegate: 'a.logout',
click: 'onLogoutClick'
}
}

您可以在此处查看工作 fiddle .

代码片段

Ext.define('MyViewController', {
extend: 'Ext.app.ViewController',
alias: 'controller.myview',

/**
* This event will fire on Logout click
*/
onLogoutClick: function(e) {
console.log(e);
Ext.Msg.alert('Success', 'You have clicked on logout button');
}
});

Ext.create({
xtype: 'panel',
title: 'Running a controller function from an ExtJS 6.6 href link',
layout: 'border',
controller: 'myview',
height: 200,
items: [{
region: 'north',
height: 200,
items: [{
xtype: 'panel',
layout: 'column',
items: [{
xtype: 'panel',
columnWidth: 0.3
}, {
xtype: 'panel',
columnWidth: 0.7,
listeners: {
element: 'el',
delegate: 'a.logout',
click: 'onLogoutClick'
},
html: '<div class="userstuff" style="text-align: right;">Hello, welcome to my page<br /><a href="#" class="logout">Log out</a></p></div>'
}]
}]
}],

renderTo: Ext.getBody()
});

关于javascript - 从 ExtJS 6.6 href 链接运行 Controller 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52980018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com