2016-08-24 2 views
0

Ich bin neu in SAPUI5 und versuche, einen Wert in ein Label in meiner Sicht über meinen Controller zu setzen.SAPUI5 this.getView (...). ById (...). SetValue ist keine Funktion

View1.controller.js

onInit: function() 
     { 
      var currentTime = this.whatsTheTime(); 
      var currentDate = this.whatsTheDate(); 
      this.getView().byId("timeDisplay").setValue(currentTime); 
      this.getView().byId("dateDisplay").setValue(currentDate); 

       this.repeat(function() { 
         currentTime = this.whatsTheTime(); 
         currentDate = this.whatsTheDate(); 
         this.getView().byId("timeDisplay").setText(currentTime); 
         this.getView().byId("dateDisplay").setText(currentDate); 
       }, 1000); 

view.xml

<mvc:View controllerName="testApp.controller.View1" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m"> 
    <Label id = "timeDisplay" design="Bold" /> 
    <Label id = "dateDisplay" design="Bold"/> 
    <Button 
     text = "Click me" 
     press = "doNothing" /> 
</mvc:View> 

Grundsätzlich in der Steuerung, whatsTheTime und whatsTheDate beiden Rückgabewerte und ich versuchen, diejenigen zu setzen Werte in das Etikett. Es ist eine ziemlich einfache Sache, aber ich bin da etwas verpaßt in meiner Konsole

this.getView(...).byId(...).setValue is not a function

EDIT: Außerdem gibt es eine bestimmte Art und Weise meine Wiederholungsfunktion in schriftlicher Form alle 1 Sekunden in meiner onInit Funktion auszuführen ? Weil es sagt, dass Wiederholung keine Funktion ist. Der ganze Sinn der Wiederholungsfunktion besteht darin, den Wert alle 1 Sekunde zu aktualisieren.

Warum genau wirft mich dieser Fehler?

Antwort

1

Etikett keinen Value-Eigenschaft, so dass es keine setValue Funktion (die im Fehlertext berichtet wird), aber es hat Eigenschaft „Text“, so sollten Sie tun:

this.getView(...).byId(...).setText(...) 
+0

Oh mein Gott, wie Dumm von mir! Vielen Dank. Auch eine letzte Frage. Ich habe meine Frage bearbeitet und einen weiteren Fehler hinzugefügt, den ich hatte. Können Sie sich das bitte auch ansehen? –

+1

siehe ein gutes Beispiel hier: http://stackoverflow.com/questions/3138756/calling-a-function-every-60-seconds – slkorolev

Verwandte Themen