2017-04-30 1 views
0

Ich habe festgestellt, dass bei einigen Modellbindungen in einer bestimmten XML-Ansicht meiner Anwendung ein Problem auftritt, wenn ich die Browser-Zurück-Schaltfläche verwende oder zurück zur Seite navigiere. Ich kann in der Netzwerk-Registerkarte sehen, dass mein Modell immer noch gut geladen ist und auch, dass die Eigenschaft ('tlc' - ein Text für eine src eines Bildes) auch da ist.Eigenschaft in der Ansicht nach dem Browser fehlt

Property is loaded

Aber die meiste Zeit (die ganze Zeit nicht - auch sehr seltsam) i 404 erhalten wurde nicht gefunden, weil es für meist nur ein Element einer Liste (die alle laden leer zu sein scheint Bilder die gleiche Art und Weise ...):

enter image description here

Es funktioniert gut, wenn ich die uRL mit dieser Ansicht zunächst öffnen, oder wenn ich die Seite aktualisieren. Diese

ist, wie meine Liste mit den Bildern definiert:

<List id="startListUpcoming" class="upcomingList sapUiSmallMarginTop" showNoData="false" items="{ 
    path: 'startlist>/startlistElements', 
    filters: [ 
    { 
     path: 'competitors/0/isMarked', 
     operator: 'EQ', 
     value1: false 
    } 
    ] 
}"> 
    <items> 
    <CustomListItem type="Active" press="onClickStarter"> 
     <HBox> 
     <VBox class="sapUiSmallMarginBegin sapUiSmallMarginTopBottom"> 
      <Image src="/img/flags/{startlist>competitors/0/athlete/nation/tlc}.png" error="onFlagError" width="50px" height="50px" /> 
      <Label text="{startlist>time}"/> 
     </VBox> 
     <VBox class="sapUiSmallMarginBegin sapUiSmallMarginTopBottom"> 
      <Link text="{startlist>competitors/0/athlete/firstName} {startlist>startlist>competitors/0/athlete/familyName}" press="onClickRiderName"/> 
      <Label text="{startlist>competitors/0/horse/name}"/> 
     </VBox> 
     </HBox> 
    </CustomListItem> 
    </items> 
</List> 

Wie ich schon sagte. Meistens ist nur ein Element dieser Liste davon betroffen. Wer weiß schon, warum das der Fall sein könnte? Es ist wirklich seltsam.

Antwort

0

Ich habe es behoben. Das Problem war, dass ich auf dem Blick in dem attachRequestCompleted Rückruf das Modell einstellen, die das Modell führte irgendwie unvollständig sein (nicht sicher, warum):

I geändert:

oJSONModel.attachRequestCompleted(function(oEvent) { 
    this.getView().setModel(oJSONModel); 
} 

zu:

oJSONModel.attachRequestCompleted(function(oEvent) { 
} 
this.getView().setModel(oJSONModel); 
0

Für mich wird dies durch eine unvollständige Implementierung verursacht.

Zum Beispiel:

Wenn Seite1 die GetEntitySet nennt, wo Felder A, B und C zurückgegeben werden.

Dann navigieren Sie zu Seite 2, wo Sie ein Update oder eine GetEntity nennen, wo nur Felder A und C zurückgegeben werden.

Dadurch wird der OData-Client-Cache mit einem leeren Wert aktualisiert.

Dies ist möglicherweise nicht Ihr Problem. Ich habe das OData-Objekt nicht wie Sie überprüft, als ich dieses Problem bekam.

+0

Ich verwende plain JSON als Modell und ich rufe nicht 'GetEntitySet'. Wird noch prüfen, ob ich irgendwie den Client-Cache debuggen kann. Danke für die Antwort – puelo

Verwandte Themen