Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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
Javascript ng根据数据重复显示内容_Javascript_Angularjs - Fatal编程技术网

Javascript ng根据数据重复显示内容

Javascript ng根据数据重复显示内容,javascript,angularjs,Javascript,Angularjs,假设我有以下目标: { "items": [ { "type": "groupA", "name": "title 1" }, { "type": "groupB", "name": "title 2"} ] } 我有以下ng repeat正在进行: <div ng-repeat="item in data.items"> {{ item.name }} </div> 如果类型等于groupB,我希望: <

假设我有以下目标:

{
    "items": [
        { "type": "groupA", "name": "title 1" },
        { "type": "groupB", "name": "title 2"}
    ]
}
我有以下
ng repeat
正在进行:

<div ng-repeat="item in data.items">
    {{ item.name }}
</div>
如果类型等于groupB,我希望:

<input value="{{ item.name }}" />
<div>{{ item.name }}</div>
{{item.name}

这可能吗?有人对我如何完成他的任务有什么建议吗?我是angular的新手,因此非常感谢您的帮助。

如果ng中的指令重复,您可以使用ng if。试试这个:-

  <div ng-repeat="item in data.items">
    <input ng-if="item.type == 'groupA'" value="{{ item.name }}" />
    <div ng-if="item.type == 'groupB'">
       {{ item.name }}
    </div> 
  </div> 

{{item.name}
您可以使用。例如:

<div ng-repeat="item in data.items">
    <div ng-if="item.type == 'groupA'">
        <input value="{{ item.name }}" />
    </div>      
    <div ng-if="item.type == 'groupB'">
        {{ item.name }}
    </div>    
</div>

{{item.name}

实现这一点的一种方法是称为ngIf的角度条件:

<div ng-repeat="item in data.items">
    <div ng-if="item.type == 'groupA'">
        <input value="{{ item.name }}" />
    </div>
    <div ng-if="item.type == 'groupB'">
        <div>{{ item.name }}</div>
    </div>
</div>

{{item.name}
有关角度ngIf函数的更多信息,请参见:

第二种方法是基于item.type的值,使用ngShow显示适当的元素:

<div ng-repeat="item in data.items">
    <input ng-show="item.type == 'groupA'" value="{{ item.name }}" />
    <div ng-show="item.type == 'groupB'" />{{ item.name }}</div>
</div>

{{item.name}
更多关于ngShow的信息,请点击此处:

第三种方法是开关。虽然开关显示两种元素类型中的一种可能会非常混乱。有关交换机的更多信息,请参见:

编辑:增加了一点澄清。

看看这篇文章:,它基本上是你所要求的内容的复制品