Javascript AngularJS ng repeat隐藏重复项(如果不是对象)
这是我在重复中使用的JSON数据:Javascript AngularJS ng repeat隐藏重复项(如果不是对象),javascript,arrays,json,angularjs,Javascript,Arrays,Json,Angularjs,这是我在重复中使用的JSON数据: { "2": { "id": 3, "0": { "avatar": "http:\\/\\/localhost\\/pottero\\/wp-content\\/plugins\\/dokan-live-chat\\/assets\\/images\\/avatar.png", "message": "Hello", "id": "2", "class": "" },
{
"2": {
"id": 3,
"0": {
"avatar": "http:\\/\\/localhost\\/pottero\\/wp-content\\/plugins\\/dokan-live-chat\\/assets\\/images\\/avatar.png",
"message": "Hello",
"id": "2",
"class": ""
},
"1": {
"avatar": "http:\\/\\/localhost\\/pottero\\/wp-content\\/plugins\\/dokan-live-chat\\/assets\\/images\\/avatar.png",
"message": "Hello Again",
"id": "2",
"class": ""
}
}
}
我的html正在重复:
<div ng-repeat="message in $ctrl.messages" class="chat-messages" data-user_id="{{message.id}}" id="chat-messages-{{message.id}}">
<div ng-repeat="msg in message" class="message {{msg.class}}">
<img ng-src="{{msg.avatar}}" />
<div class="bubble">
'<div ng-bind-html="msg.message | trusted_html"></div>
<div class="corner"></div>
</div>
</div>
</div>
我想做的是,当msg不是像id:3这样的对象时,它不是一个对象,所以我不希望它像ng一样重复。如果msg不是对象,那么不要将它包含在重复循环中?我使用了ng if=typeofmsg!='对象,但它确实隐藏了所有项。请指出,如果重复项不是对象,如何隐藏重复项使用ng容器。不能在同一元素上使用ng repeat和ng if。此外,typeof不是一个函数,而是一个运算符。如果您不想在额外的html上盖章,请使用ng容器,否则您可以在该元素上添加额外的div并添加ng if条件
<div ng-repeat="message in $ctrl.messages" class="chat-messages" data-user_id="{{message.id}}" id="chat-messages-{{message.id}}">
<div ng-repeat="msg in message" class="message {{msg.class}}">
<ng-container ng-if="typeof msg !== 'object'"> --> Or you can add here `div` or other html element
<img ng-src="{{msg.avatar}}" />
<div class="bubble">
'<div ng-bind-html="msg.message | trusted_html"></div>
<div class="corner"></div>
</div>
</ng-container>
</div>
</div>
将每个对象转换为数组:
this.messages = Object.assign([], this.messages);
this.messages.forEach(msg => {
msg = Object.assign([],msg));
});
当ng repeat指令迭代数组时,它只使用解析为整数的属性
有关详细信息,请参阅
我像这样使用它作为一个指令,但它给我+syntaxt错误?删除反斜杠