Во-первых, я плохо говорю по-английски. извините.sencha touch2 контроллер не прослушивает событие
мой контроллер не слушает мероприятие .. между контроллером и видом.
Я использую 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');
}
}
Событие дочернего компонента не работает в контроллере.
кстати мероприятие работает в поле зрения. но не контроллер.
почему ..? Спасибо.
попробовать это, добавьте идентификатор в меню такой же, как itemId.I означает «id:« main_menu »». –