首先,我不会说英语。抱歉..
我的控制器没有在控制器和视图之间监听事件。
我使用Ext.NavigationView
我的观看代码: view.js
Ext.define('Mobile.view.Main', {
extend: 'Ext.NavigationView',
xtype: 'main',
requires: [
'Ext.TitleBar',
'Ext.dataview.List',
'Ext.data.Store'
],
config : {
navigationBar : {
items : [ {
iconCls : 'list'
},{
iconCls : 'info',
align: 'right'
} ]
},
items : [{
title:'test',
//styleHtmlContent : true,
scrollable : {
direction : 'vertical',
directionLock : true
},
items:[{
html:'menu',
itemId : 'main_menu',
height: 300
},{
html:'notice',
height: 30,
style: 'background-color:green'
},{
xtype : 'list',
height : 270,
//styleHtmlContent:true,
style: 'background-color:orange',
store : Ext.create('Ext.data.Store', {
model: 'Mobile.model.Notice'
}),
loadingText : 'Loading...',
itemTpl : [
'<div style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis; padding-right:12px;padding-top:4px;">',
'<div style="font-family:Pictos; width:20px; font-size:1em; display:inline-block;">6</div>',
'<div style="display:inline;">{title} [{created}]</div>',
'</div>'
].join(''),
scrollable : false
},{
html:'button',
height: 80,
style: 'background-color:navy'
},{
html:'Copyright',
height: 30,
style: 'background-color:olive'
}]
}]
}
查看控制器代码:
Ext.define('Mobile.controller.MainController', {
extend: 'Ext.app.Controller',
config: {
refs: {
main: 'main', //NavigationView
menu : 'main #main_menu' // catch ok.
},
control: {
//working
'main': {
initialize: function(obj, opt){
//<debug>
console.log('[controller.MainController] main view 초기화..');
//</debug>
obj.child('container list').getStore().load();
console.log(this.getMenu()); // working
}
},
//working
'main button[iconCls=list]' : {
tap: function(obj, evt, opt){
//<debug>
console.log('[controller.MainController] sitemap button tap..');
//</debug>
}
},
//working
'main button[iconCls=info]' : {
tap: function(obj, evt, opt){
//<debug>
console.log('[controller.MainController] login button tap..');
//</debug>
var datePicker = Ext.create('Ext.picker.Date');
Ext.Viewport.add(datePicker);
datePicker.show();
}
},
//not wokring
menu : {
initialize : function(){
console.log('test');
}
}
}
}
此事件无效......
//not wokring
menu : {
initialize : function(){
console.log('test');
}
}
儿童组件的事件在控制器中无效。
通过事件在视图中工作的方式。但不是控制器。
为什么..?谢谢。
答案 0 :(得分:0)
在控制配置中有一个与itemId相关的错误:https://www.sencha.com/forum/showthread.php?291456
您可以尝试上述线程或此线程的解决方法:https://www.sencha.com/forum/showthread.php?293149