Ich habe ein Problem, Variablen in meiner iPhone Titan App zu übergeben. Unten ist meine AppTabGroup.js Datei. Es gibt einen Ereignis-Listener namens 'grantEntrance'. Wenn dies ausgelöst wird, müssen die Variablen event.name und event.email an alle neuen Registerkarten übergeben werden. Aus irgendeinem Grund funktioniert das nicht für mich. Ich bekomme unbestimmte Fehler. Ich denke, meine Frage ist, wie setze ich globale Variablen? Wie event.name, so dass es überall in der Anwendung angezeigt wird.Titanium - Variable an neues Fenster übergeben
function AppTabGroup() {
//declare module dependencies
var AppWindow = require('ui/AppWindow');
var OverviewWindow = require('ui/OverviewWindow');
var LeadWindow = require('ui/LeadWindow');
var CaseWindow = require('ui/CaseWindow');
var ResourcesWindow = require('ui/ResourcesWindow');
//create module instance
var self = Ti.UI.createTabGroup();
//create app tabs
var win1 = new OverviewWindow(L('Login')),
win2 = new CaseWindow(L('Cases'));
win3 = new LeadWindow(L('Leads'));
win4 = new ResourcesWindow(L('Resources'));
var tab1 = Ti.UI.createTab({
title: L('Login'),
icon: '/images/KS_nav_ui.png',
window: win1
});
win1.containingTab = tab1;
var tab2 = Ti.UI.createTab({
title: L('Cases'),
icon: '/images/KS_nav_views.png',
window: win2
});
win2.containingTab = tab2;
var tab3 = Ti.UI.createTab({
title: L('Leads'),
icon: '/images/KS_nav_views.png',
window: win3
});
win3.containingTab = tab3;
var tab4 = Ti.UI.createTab({
title: L('Resources'),
icon: '/images/KS_nav_mashup.png',
window: win4
});
win4.containingTab = tab4;
//Load Initial Login tab
self.addTab(tab1);
//If Login is successful then the below even will fire and the other tabs will be loaded
Ti.App.addEventListener('grantEntrance', function(event)
{
win2.name = event.name;
win2.email = event.email;
self.addTab(tab2);
self.addTab(tab3);
self.addTab(tab4);
self.removeTab(tab1);
});
return self;
};
module.exports = AppTabGroup;
Unten ist mein CaseWindow.js Tab
function AppWindow(title) {
var Main = Ti.UI.createWindow({
title:title,
backgroundColor:'white'
});
//Closed Case Button
var ccButton = Titanium.UI.createButtonBar({
labels:['Closed'],
backgroundColor:'#336699'
});
Main.setLeftNavButton(ccButton);
//New Case Button
var ncButton = Titanium.UI.createButtonBar({
labels:['New Case'],
backgroundColor:'#336699'
});
Main.setRightNavButton(ncButton);
ncButton.addEventListener('click', function() {
//containingTab attribute must be set by parent tab group on
//the window for this work
Main.containingTab.open(Ti.UI.createWindow({
title: L('newCaseWindow'),
backgroundColor: 'white'
}));
});
var msg = Titanium.UI.createLabel({
text:"Your Name is " + win.name,
//text:"You have successfully logged in. Upon logging in we sent back your email address and your name. You can pass all kinds of data simply by creating objects on your window.\n\nYour email is:\n" + email + "\n\nyour name is:\n" + name,
top:10,
left:10,
width:300,
height:'auto'
});
Main.add(msg);
return Main;
};
module.exports = AppWindow;
Was ist der Fehler und was event.name oder event.email ist? Wie informiert die Veranstaltung über E-Mail, Name? –