我在视图中有一个按钮:
items: [{
xtype: 'button',
text: 'Click me!',
handler: 'onClick' // <- call function from controller
}]
现在我想将该按钮更改为自定义按钮(包含文本和链接),如下所示:
items: [{
xtype: 'component',
html: getLink()
}]
在同一个js文件中,我有一个函数:
function getLink() {
// Doing something
return '<div>Hi, <a href="...">Click me!</a></div>';
}
当我点击自定义按钮时,我想调用'onClick'功能。我该怎么办?
谢谢!
答案 0 :(得分:1)
使用afterrender
:
查看:
items: [{
xtype: 'component',
html: getLink(),
itemId: 'myLink'
}]
控制器:
var controller = this;
controller.control({
// Selector for your link parent component
'yourSelector': {
afterrender: function(component) {
component.down('#myLink').on('click', function() {
controller.onClick();
});
}
}
})
答案 1 :(得分:0)
您可以在element
上使用delegate
和listener
,例如:
{
xtype: 'box',
html: '<div>Hi, <a class="custom-btn">Click me!</a></div>',
listeners: {
click: {
element: 'el',
delegate: '.custom-btn',
fn: function() {
console.log('click!');
}
}
}
}
答案 2 :(得分:0)
xtype: 'component',
autoEl:{
tag: 'a',
href: '',
onClick: 'nameYouFunction'
}