我有一个像这样定义的控制器:
Ext.define('MyApp.controller.TestController', {
extend: 'Ext.app.Controller',
config: {
},
showTest: function() {
alert('aaa');
}
});
如何调用showTest()函数?我试过这个: MyApp.controller.TestController.showTest();
但这不起作用。任何人都知道如何做到这一点.. ??因为我想从onClick调用该函数,即使在div中也是如此。类似的东西:
<div onclick="call.controller.func(1)">User 1</div>
<div onclick="call.controller.func(2)">User 2</div>
etc.
答案 0 :(得分:2)
不,你做错了。
假设您的视图中有一个按钮:
Ext.define('MyApp.view.Login', {
extend : 'Ext.form.Panel',
xtype : 'myapp-login',
config : {
items : [
{
xtype : 'fieldset',
name : 'login-fieldset',
title : 'Login credentials',
instructions: 'Fill in your email and password)',
items : [
{
xtype: 'emailfield',
name : 'email',
label: 'Email'
},
{
xtype: 'passwordfield',
name : 'password',
label: 'Password'
}
]
},
{
xtype : 'button',
name : 'Login',
text : 'Login',
ui : 'confirm'
}
]
}
});
在您的控制器中,在control
对象中:
control : {
'myapp-login button[ui=confirm]' : {
tap : 'showTest'
}
},
// function showTest
showTest: function() {
alert('aaa');
}
所以在上面的示例中:当用户在名为xtype
的{{1}}内部点击时,控制器将执行myapp-login
方法。