2014-02-05 8 views
7

Ich frage mich, wie man den Objekttyp eines SAPUI5-Javascript-Objekts zur Laufzeit bekommt. Ich kann überprüfen, ob das Objekt eines bestimmten Typs ist in etwa so:Wie finde ich den Objekttyp eines SAPUI5-Elements zur Laufzeit?

myObj instanceof sap.m.List 

Ich bin für das Äquivalent von .getClass() in der Java-Welt suchen. Ich habe ein paar Ansätze auf verschiedenen anderen SO-Threads wie How do I get the name of an objects type in Javascript

beschrieben versucht Es scheint nicht zu einem Standard-Ansatz, und keiner, den ich versucht habe, scheinen für UI5 zu arbeiten. Das verursacht mir kein Problem, aber das Debuggen in Dev-Tools mit meinem Java-Kopf wäre schön, den Objekttyp zu bekommen und daher zu wissen, welche Methoden ich aufrufen kann.

Cheers, Gregor

Antwort

19

ein Metadaten-Mechanismus Es gibt:

oControl = sap.ui.getCore().byId('<your control id>'); 
sType = oControl.getMetadata().getName(); 

In der Tat das Objekt von sap.ui.core.Element.html#getMetadata enthält einen ganzen Haufen von Innerlichkeit Güte zurückgeführt.

0

Sie können auch versuchen, wie:

sap.ui.getCore().byId("<your ID :D>").__proto__ 

Dadurch werden alle Liste der Funktion und Bedienung geben. Im Allgemeinen mache ich in der Konsole, um eine Idee zu bekommen, was andere Sachen getan werden können.

+0

Ich denke, es wäre hilfreich für die OP und weitere Besucher, wenn Sie eine Erklärung zu Ihrer Intention hinzufügen. – reporter

+0

Versucht, ein Bild hinzuzufügen, aber herausgefunden, dass ein Benutzer benötigt, um mindestens 10 Punkte zu haben, und ich war kurz davor :( – Ajay