AngularJS ng重复隐藏项目->;与其他JSON对象进行比较
我在一个结构如下的对象上重复ng:AngularJS ng重复隐藏项目->;与其他JSON对象进行比较,angularjs,json,object,ng-repeat,ng-hide,Angularjs,Json,Object,Ng Repeat,Ng Hide,我在一个结构如下的对象上重复ng: Object{ id: 'id', name: 'name' colours:[ { colour_id: 'id', colour_name: 'name' }, { colour_id: 'id', colour_name: 'name' } ] }; 我的控件中定义了另一个对象,如下所示: Colours = { 'id1':'name1', 'i
Object{
id: 'id',
name: 'name'
colours:[
{
colour_id: 'id',
colour_name: 'name'
},
{
colour_id: 'id',
colour_name: 'name'
}
]
};
我的控件中定义了另一个对象,如下所示:
Colours = {
'id1':'name1',
'id2':'name2',
'id3':'nam3',
..
};
在ng repeat中我想做的是,我想将每种颜色colors\u id和color\u name与colors对象进行比较,并检查这两个值是否匹配,以不显示它们是否已经存在
差不多
<li ng-repeat='colour in Object.colours'
ng-hide='colour.colour_id == Colours_id && colour.colour_id == Colours_name'>
</li>
问题是,如果控制器中的颜色对象没有id/name,而是值,我如何“循环”它?如何比较这些值?您可以尝试以下方法:
<li ng-repeat='colour in Object.colours'
ng-hide='Colours[colour.colour_id] && Colours[colour.colour_id] == colour.colour_name'>
</li>
这是行不通的,将id和名称进行比较显然是不好的,它们之间没有关联。这里的问题是比较我的ng repeat值和colors对象值,如show color if color.name==colors.name&&color.id==colors.id。这些值必须成对出现,因为id严格绑定到名称。我不是在比较id和名称,实际上是颜色[color.color\u id]-它是一个名称,而不是id。(例如,颜色['id1']='name1')