Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS ng重复隐藏项目->;与其他JSON对象进行比较_Angularjs_Json_Object_Ng Repeat_Ng Hide - Fatal编程技术网

AngularJS ng重复隐藏项目->;与其他JSON对象进行比较

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

我在一个结构如下的对象上重复ng:

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')