【发布时间】:2018-12-03 10:48:20
【问题描述】:
在我的 SAPUI5 应用程序中,我有一个不会更新我的数据的 JS 片段。如果我刷新窗口,我会正确获取数据,但我需要使用 window.location.reload()。
您可以查看以下代码:
onInit: function () {
var oRouters = sap.ui.core.UIComponent.getRouterFor(this);
oRouters.getRoute("chartContainer").attachPatternMatched(this._onObjectMatched, this);
},
_onObjectMatched: function (oEvent) {
var sYear = oEvent.getParameter("arguments").Year;
var sMonth = oEvent.getParameter("arguments").Month;
var sGroup = oEvent.getParameter("arguments").Group;
var sCurrency = oEvent.getParameter("arguments").Currency;
if (sYear === undefined && sMonth === undefined && sGroup === undefined && sCurrency === undefined){
var oStartupParameters = this.getOwnerComponent().getComponentData().startupParameters;
sYear = oStartupParameters.Year;
sMonth = oStartupParameters.Month;
sGroup = oStartupParameters.Group;
sCurrency = oStartupParameters.Currency
}
var sServiceUrl = "/sap/opu/odata/sap/Z_TEST/";
var filterYear = new sap.ui.model.Filter("Year", sap.ui.model.FilterOperator.EQ, sYear);
var filterMonth = new sap.ui.model.Filter("Month", sap.ui.model.FilterOperator.EQ, sMonth);
var filterGroup = new sap.ui.model.Filter("Group", sap.ui.model.FilterOperator.EQ, sGroup);
var filterCurrency = new sap.ui.model.Filter("Currency", sap.ui.model.FilterOperator.EQ, sCurrency);
var oModelOdata = new sap.ui.model.odata.v2.ODataModel(sServiceUrl, {
json: true,
loadMetadataAsync: true
});
var oModel = new sap.ui.model.json.JSONModel();
oModelOdata.read("/DataSet",{
filters: [filterYear, filterMonth, filterGroup, filterCurrency],
success: function(oData, response) {
var oResults = oData.results;
oModel.setData(oData);
var oView = sap.ui.getCore().byId("__xmlview0");
if (oView !== undefined){
oView.setModel(oModel);
}else{
window.location.reload(); // It works correctly butI would like not to have to reload the whole page.
}
}
});
},
如何在不刷新整个页面的情况下刷新视图?
提前感谢您的支持 塞尔吉奥
【问题讨论】:
标签: javascript sapui5