NEWS
Array mit Funktionsreferenzen in Objekt speichern
- 
					
					
					
					
 Ich versuche ein Array mit Funktionsreferenzen in einem Objekt zu speichern, allerdings werden in dem Objekt nur leere Felder angelegt. Muss ich dabei etwas beachten? function testFnc1() {} function testFnc2() {} createState( 'ActiveRoomsTimeCtrl', { name: 'Räume mit Zeitsteuerung', type: 'array', role:"state"}, function (obj) {prepareArrayRooms()} ); } function prepareArrayRooms() { if(null == getState('ActiveRoomsTimeCtrl').val) { var init = [testFnc1, testFnc2]; setState('ActiveRoomsTimeCtrl', init, true); } }In der ObjectView wird allerdings nur ein leeres Array angezeigt. Die leeren Felder erhalte ich auch, wenn ich das Objekt wieder auslesen will. 
  Background: Ich möchte, je nach selektierten Buttons (Räumen) in vis, Funktionen stündlich aufrufen. Dafür möchte ich die Funktionen in ein array ein-/austragen und dieses Array stündlich durchgehen und die Funktionen aufrufen. schedule("01 * * * *", timerCallback); function timerCallback() { var activeRooms = getState('ActiveRoomsTimeCtrl').val; activeRooms.forEach(function(element) { if (element != 0) { element(); } }); }
- 
					
					
					
					
 Ich habe die Ursache für das Problem in der Doku gefunden: 
 "val - the actual value - can be any type that is JSON-"encodable""
 Funktionen sind nicht in JSON codierbar.Ich werde somit eine andere Lösung suchen. 
- 
					
					
					
					
 Eine einfach Lösung wäre die Funktion als string zu übergeben und dann über switch(func){ case 'set1': set1(args); break; case 'get1': return get1(); break; }die entsprechende Funktion aufzurufen. 
 
		
	