我尝试在headerObject
中创建一个逗号分隔的作者列表。
我有一个绑定并展开一个作者列表(ManyToMany):
<ObjectHeader responsive="true" fullScreenOptimized="true" title="{database>Title}" intro="{i18n>details_by} {database>AuthorDetails}">
这段代码给出了以下结果:
对于{database>AuthorDetails/Name}
,它什么也没显示出来。我怎样才能扩展作者?
发布于 2018-08-03 05:01:49
我认为我们可以简化控制器中的函数
commaSeparator: function(oData) {
if (oData === null) {
return "";
}
var oModel = this.getView().getModel("database");
return oData.reduce(function(result, authorKey) {
var obj = oModel.getProperty("/" + authorKey);
return result === "" ? obj.Name : result + ", " + obj.Name;
}, "");
},
发布于 2018-08-02 19:14:47
好的谢谢你的点子。我现在已经解决了这个问题。
查看:
intro="{path: 'database>AuthorDetails', formatter: '.commaSeparator'}
控制器:
commaSeparator: function(oData) {
if (oData === null) {
return "";
}
var authorArray = [];
for (var i in oData) {
var authorKey = oData[i];
var authorObject = this.getView().getModel("database").getProperty("/" + authorKey);
authorArray.push(authorObject.Name);
}
var commaSeparatedString = authorArray.join(", ");
return commaSeparatedString;
},
https://stackoverflow.com/questions/51649394
复制相似问题