Meine Erfahrung in Web-Programmierung beschränkt sich auf mittlere, autodidaktische JS und jQuery mit einer Prise PHP. ExtJS entpuppt sich als ganz anderes Tier.Verwenden von Controller zum Anhängen von Ereignissen (sencha touch/extjs)
Ich kann nicht herausfinden, warum mein Controller nicht das tut, was ich erwarte, besonders da ich der Syntax folge, die in der Dokumentation verwendet wird (die immer nutzloser wird, weil sie nicht beschreiben, was tatsächlich passiert) in den Beispielen ... aber ich schweife ab).
main.js
Ext.define("cs.view.Main", {
extend: 'Ext.TabPanel',
tabBarPosition: 'bottom',
requires: [
'cs.view.form',
'cs.view.location',
'Ext.TitleBar',
'cs.controller.geolocate'
],
config: {
tabBar: {
docked: 'bottom',
},
defaults: {
flex: 1
},
items: [
{ xtype: 'form' },
{ xtype: 'location' }
]
},
});
form.js
Ext.define('cs.view.form', {
extend: 'Ext.form.Panel',
requires: 'cs.controller.geolocate',
id: 'ClientFinderForm',
config: {
title: 'Home',
iconCls: 'home',
items: [
{
xtype: 'toolbar',
docked: 'top',
title: 'Client Finder'
},
{
xtype: 'textfield',
name: 'address',
label: 'address'
},
{
xtype: 'textfield',
name: 'dist',
label: 'distance(mi)'
},
{
xtype: 'button',
ui: 'confirm',
text: 'submit',
id: 'submitButton',
}
]
},
});
geolocate.js
Ext.define('cs.controller.geolocate', {
extend: 'Ext.app.Controller',
config: {
control: {
aButton: {
tap: 'message'
}
},//control
refs: {
aButton: '#submitButton'
},//refs
},//config
message: function(){
Ext.Msg.alert("Success", "Finally!");
}
});
was ist passiert? Was meintest du mit "nicht wie erwartet arbeiten"? Sei klarer und ich helfe dir aus –
Nicht funktioniert, da es nichts tut. Ich bin in der Lage, ein Ereignis direkt hinzuzufügen, indem ich ein 'Listeners:' in form.js – andyjv
Es gab eine Antwort, die heute früher hilfreich schien, aber es scheint zu verschwinden ... etwas über das Hinzufügen eines 'init:' zu geolocate.js – andyjv