Я пытаюсь отобразить цену акций, полученную из конечной точки API, в элемент управления плиткой приложения SAPUI5. У меня в файле контроллера есть следующие настройки:
var oModel = new sap.ui.model.json.JSONModel();
sap.ui.getCore().setModel(oModel, 'stockinfo');
// load data from URL
oModel.loadData('https://api.iextrading.com/1.0/stock/dax/quote?displayPercent=true');
oModel.attachRequestCompleted(function() {
var data = oModel.getData();
console.info('data', data);
this.getView().getModel('stockinfo').setData(data);
});
Когда я пытаюсь привязать это к элементу управления, ничего не отображается:
<GenericTile
class = "sapUiTinyMarginBegin sapUiTinyMarginTop"
header = "{i18n>startpageUserReviewsTileTitle}"
press = "onNavToReviews">
<tileContent>
<TileContent>
<content>
<NumericContent
value = "{
path:'stockinfo>/latestPrice'
}"
scale = "%"
/>
</content>
</TileContent>
</tileContent>
</GenericTile>
Кто-нибудь знает, что не так с моей настройкой?
спасибо, проблема не в структуре json, см. ответ, который я привел ниже :)





Я понял. Из документации SAP
Load JSON-encoded data from the server using a GET HTTP request and store the resulting JSON data in the model. Note: Due to browser security restrictions, most "Ajax" requests are subject to the same origin policy, the request can not successfully retrieve data from a different domain, subdomain, or protocol.
Я просто удалил посторонние 'attachRequestCompleted' и метод setModel: sap.ui.getCore (). SetModel (oModel, 'stockinfo')
Весь код, который нужен:
var oModel = new sap.ui.model.json.JSONModel();
oModel.loadData('https://api.iextrading.com/1.0/stock/dax/quote?displayPercent=true');
this.setModel(oModel, 'stockinfo');
Можете ли вы добавить структуру своей модели JSON? может быть проблема