我有这样的对象
{
{
"assetId" : "560",
"assetName" : "Testname",
"message" : "hai",
"timestamp" : 1452585984181
},
{
"message" : "haii",
"timestamp" : 1452585999592
},
{
"assetId" : "560",
"assetName" : "Testname",
"message" : "heloo",
"timestamp" : 1452586221604
}
}
向此对象显示我正在使用ng-repeat
。我的问题是
我需要显示使用ng-repat
的所有邮件都在单assetName
下。但在此对象中,两个对象具有相同的assetName
和assetId
。我需要显示相同对象的消息,但不需要在顶部重复显示assetName
。
我怎样才能避免重复的assetName
和assetId
。我用了
<div class="container" data-ng-repeat="data in dataList | unique:'assetId'">
但它完全删除了对象。我需要来自所有对象的消息。
是不是有可能。请帮忙 这是我期待的输出。:答案 0 :(得分:0)
这个怎么样:
<div class="container" data-ng-repeat="data in dataList | unique:'assetId'">
<span>{{data.assetId}}</span>
<div data-ng-repeat="data2 in dataList | filter:(data.assetId === undefined ? {assetId:'!'} : data.assetId)">
<span>{{data2.message}}</span>
</div>
</div>
答案 1 :(得分:0)
我认为您应该创建自己的自定义过滤器
yourApp.filter('customuniqueFilter', function() {
return function( array, propertyThatMustBeUnique) {
var newArray = [];
for (i = 0; i++; i < array.length){
if ( notYetInYourArray ){ // I was too lazy to think about a way to do it ;-) feel free to update my answer
newArray.push(array[i]);
}
}
return newArray;
}
});
然后像这样使用它:
<div class="container" data-ng-repeat="data in dataList | customunique:'assetId'">