我正在对网站上的某些页面进行评论。我建立了一个数据库来记录每条评论的时间戳。但是,当我让评论显示时,(当然)我会获得时间戳记。如何将其转换为可读格式?注释存储在JSONModel中。在View.xml中有某种方法可以做到吗?还是可以通过格式化JSON模型在控制器中做到这一点?
谢谢你的帮助!
JavaScript控制器
onFindComments: function(oEvent)
{
var carriersitesModel = sap.ui.getCore().getModel("glParamCarrierSitesModel").getData();
var sPath = jQuery.sap.getModulePath("");
var oComModel = new JSONModel(sPath);
oComModel = RevisionDetailsService.onGetComments(carriersitesModel.periodNbr, carriersitesModel.carrierNbr, carriersitesModel.revisionNbr);
this.setModel(oComModel, "commentModel");
this.getView().byId("commentsList").setBusy(false);
}
服务
onGetComments: function(periodNbr, carrierNbr, revisionNbr) {
var oModel = new JSONModel();
oModel.setDefaultBindingMode("TwoWay");
var sUrl = UrlProvider.getUrl("GET_COMMENTS");
var param = {
"url": window.location.href,
"messageKey": periodNbr + "-" + carrierNbr + "-" + revisionNbr
};
$.ajax({
url: sUrl,
type: "POST",
data: JSON.stringify(param),
async: true,
contentType: "application/json",
dataType: "json",
success: function(res) {
console.log(res);
oModel.setData(res);
console.log("GET COMMENTS SUCCESS");
},
error: function(error){
console.log(error);
}
});
return oModel;
}
View.xml
<semantic:content>
<FeedInput
id="FeedInput"
post="onComment"
class="sapUiSmallMarginTopBottom" />
<Table id="commentsList" width="auto" items="{commentModel>/returnData}" noDataText="{i18n>commentLineItemTableNoDataText}"
busyIndicatorDelay="{detailView>/delay}" class="sapUiResponsiveMargin">
<columns>
<Column minScreenWidth="Phone" demandPopin="true" width="150px" style=" white-space:normal">
<Text text="{i18n>commentSenderColumnText}"/>
</Column>
<Column minScreenWidth="Phone" demandPopin="true" style="white-space:normal">
<Text text="{i18n>commentMessageColumnText}"/>
</Column>
<Column minScreenWidth="Phone" demandPopin="true" width="100px">
<Text text="{i18n>commentDateColumnText}"/>
</Column>
</columns>
<items>
<ColumnListItem>
<cells>
<Text text="{commentModel>createdBy}"/>
<Text text="{commentModel>message}"/>
<Text text="{commentModel>createdTime}"/>
</cells>
</ColumnListItem>
</items>
</Table>
</semantic:content>
最佳答案
ui5中有多种格式化日期(或任何其他类型)的方法:
programmatically
declaratively
在您的情况下,它将如下所示:
<Text text="{
path: 'commentModel>createdTime',
type: 'sap.ui.model.type.Date',
formatOptions: {style: 'medium'}
}"/>
对于不同的参数用法,请阅读官方文档。
关于javascript - 将时间戳从JSON模型转换为可读格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45462299/