Dans l'application tactile sencha j'ai eu des vues, l'une d'entre elles contient une liste.Liste tactile Sencha itemtap after view change
Si je passe de la vue qui contient la liste à une autre vue et vice versa, l'événement itemtap de la liste ne se déclenche plus.
Mon point de vue avec la liste:
Ext.define('app.view.ItemList', {
extend: 'Ext.navigation.View',
xtype: 'listitems',
config: {
title: 'List',
items: [
{
xtype: 'toolbar',
ui: 'light',
docked: 'top',
title: 'List',
items: [
{
xtype: 'button',
text: 'Back',
ui: 'back',
handler: function() {
Ext.Viewport.animateActiveItem({xtype:'main'}, {type:'slide'});
}
},
]
},
{
xtype: 'list',
itemTpl: '{"name"}',
store: {
autoLoad: true,
fields: ['name', 'email'],
proxy: {
type: 'rest',
url: 'data/data.json',
reader: {
type: 'json'
}
}
}
}]
},
initialize: function() {
this.callParent();
}
})
Controller pour cela:
Ext.define('app.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
listitems: 'listitems'
},
control: {
'listitems list': {
itemtap: 'showItem',
}
}
},
showItem: function(list, index, element, record) {
this.getItemlist().push({
xtype: 'panel',
title: record.get('name'),
html: [
"<b>Name:</b> " + record.get('name') +
"<b>Email:</b> " + record.get('email')
],
scrollable: true,
styleHtmlContent: true
})
}
})
je l'ai essayé aussi avec id, itemId, rien ne fonctionnait.
Comment pourrais-je résoudre ce problème?
Etes-vous sûr que l'événement de prise ne se déclenche pas à nouveau? Que contient votre fonction 'showItem', j'espère que c'est juste comme' console.log ('tapé') '? – Alexander
Quelle version de ST utilisez-vous, et pourriez-vous mettre un exemple minimal dans "sencha fiddle"? – Alexander
Vous avez eu le point, j'ai vérifié dans la console et il se déclenche à chaque fois que le problème était avec la fonction showItem. J'ai mis à jour la question pour montrer la fonction. – endlessC