2016-06-14 10 views
0

ich habe ein Problem, die Bindung Kontext der listItemgetBindingContext() getProperty undefiniert

hier zu bekommen, ist mein Datenmodell:

{ 
    "Items": [ 
     { 
      "ItemTypeID": "0", 
      "Name": "A" 
     }, 
     { 
      "ItemTypeID": "1", 
      "Name": "B" 
     }, 
     { 
      "ItemTypeID": "2", 
      "Name": "C" 
     } 
    ] 
} 

Meine Ansicht:

<List id="idItemTypes" mode="SingleSelectMaster" select="handleListSelect" 
      items="{itemTypes>/ItemTypes}"> 
      <items> 
       <StandardListItem title="{itemTypes>Name}" type="Navigation" />    
      </items> 
     </List> 

Meine Ansicht funktioniert gut und zeigt mir alle Artikel aus meinem Modell. Aber wenn ich ein Element aus meiner Liste auswähle, kann ich den Bindungskontext nicht finden. Es ist immer undefiniert.

Mein Controller:

handleListSelect : function(oEvent) { 
    this._showDetail(oEvent.getParameter("listItem")); 
}, 
_showDetail : function(oItem) { 
    this.getRouter().navTo("Items", { 
     console.log(oItem.getBindingContext()); //undefined 
     ItemTypeID : oItem.getBindingContext().getProperty("ItemTypeID") 
    }); 
} 

Antwort

2

Ein häufiger Fehler: Wenn Sie benannte Modelle verwenden, vergessen Sie nicht :-)

this.getRouter().navTo("Items", { 
    console.log(oItem.getBindingContext("itemTypes")); //should now hold an object 
    ItemTypeID : oItem.getBindingContext("itemTypes").getProperty("ItemTypeID") 
}); 
+0

Argh den Modellnamen als Argument für die getBindingContext Methode angeben! Ich danke dir sehr. :-) – alexP