Angularjs Angular js-如何根据条件在html中递增

Angularjs Angular js-如何根据条件在html中递增,angularjs,Angularjs,我使用angular repeat动态填充表单的字段。在一个场景中,我需要通知用户(显示重复字段的!图标)。下面是代码片段: <div ng-init="counter = 0"> <div ng-repeat="item in list track by $index"> <div ng-show="{{item.show}}">{{counter+1}}</div> </div> <div ng-show=

我使用angular repeat动态填充表单的字段。在一个场景中,我需要通知用户(显示重复字段的!图标)。下面是代码片段:

<div ng-init="counter = 0">
  <div ng-repeat="item in list track by $index">
    <div ng-show="{{item.show}}">{{counter+1}}</div>
  </div>
  <div ng-show="{{counter > 1}}"> ! </div>
</div>

{{计数器+1}}
! 

计数器变量仅递增如果它像{{Counter+$index}}一样使用,那么没有$index也可以吗?

官方不支持在html中分配变量

但你问的问题总有一个答案:

<div ng-init="counter = 0"></div>
<div ng-repeat="n in [1,2,3,4,5]">
    <div style="display:none;">{{ n == 3 ? counter = "World!" : counter = n }}</div>
    <p>Hello {{ counter }}</p>
</div>
对第一条评论的回答: 当计数器=3时,我们将其除以2

<div ng-init="counter = 0"></div>
<div ng-repeat="n in [1,2,3,4,5]">
    <div style="display:none;">
        {{ counter = n }}
        {{ counter == 3 ? counter = counter / 2 : counter = counter }}
    </div>
    <p>Hello {{ counter }}</p>
</div>

Output:
Hello 1
Hello 2
Hello 1.5
Hello 4
Hello 5

{{counter=n}}
{{counter==3?counter=counter/2:counter=counter}
你好{{柜台}

输出: 你好1 你好2 你好1.5 你好4 你好5
对第三条评论的回答:

我终于明白你的要求了。让我改变接近的方式,使用ng if保存计数器的记录。当n可被2整除时,我使用ng init递增计数器。您需要调用$parent.$parent.counter才能到达原始计数器,否则ng if将在子作用域内创建自己的计数器


计数器={{Counter}}

输出: 计数器=4
官方不支持在html中分配变量

但你问的问题总有一个答案:

<div ng-init="counter = 0"></div>
<div ng-repeat="n in [1,2,3,4,5]">
    <div style="display:none;">{{ n == 3 ? counter = "World!" : counter = n }}</div>
    <p>Hello {{ counter }}</p>
</div>
对第一条评论的回答: 当计数器=3时,我们将其除以2

<div ng-init="counter = 0"></div>
<div ng-repeat="n in [1,2,3,4,5]">
    <div style="display:none;">
        {{ counter = n }}
        {{ counter == 3 ? counter = counter / 2 : counter = counter }}
    </div>
    <p>Hello {{ counter }}</p>
</div>

Output:
Hello 1
Hello 2
Hello 1.5
Hello 4
Hello 5

{{counter=n}}
{{counter==3?counter=counter/2:counter=counter}
你好{{柜台}

输出: 你好1 你好2 你好1.5 你好4 你好5
对第三条评论的回答:

我终于明白你的要求了。让我改变接近的方式,使用ng if保存计数器的记录。当n可被2整除时,我使用ng init递增计数器。您需要调用$parent.$parent.counter才能到达原始计数器,否则ng if将在子作用域内创建自己的计数器


计数器={{Counter}}

输出: 计数器=4
counter=counter+1?
ng show=“item.show”
对于重复的值,您到底需要通知什么。用提琴把你的全部代码贴出来。什么是“物品”?你如何判断哪个“项目”是重复的?它有重复的ID吗?这是一个数字?一根绳子?“不过,我们不能读懂别人的心思。”@MarinTakanov,item有代码片段中提到的属性show。ng show=“{item.show}}counter=counter+1?
ng show=“item.show”
对于重复的值,您到底需要通知什么。将您的完整代码以小提琴的形式发布。什么是“item”?如何分辨哪个“item”“是重复的吗?它有重复的ID吗?这是一个数字?一根绳子?“不过,我们不能读懂别人的心思。”@MarinTakanov,item有代码片段中提到的属性show。ng show=“{item.show}}谢谢@KinoP,但它不起作用。您的示例是否可以将数字除以2?如果可以,请粘贴代码段,它将解决我的问题。@crmApex我不确定是否理解您的问题,但请检查上面更新的答案。的条件表达式{{BooLo.Error Case:ValueCase}是非常强大的。谢谢。我想要输出:2,因为在你的列表中[1,2,3,4,5]只有2和4可以被2整除。现在,考虑动态列表的事实。假设n有[2,6,5,6,8,9,11],所以输出:4,因为n有(2,6,6,8)可被2整除。所以,基本上{{计数器}}当一项n除以2,余数=0时,需要递增。@crmApex检查一下。谢谢。我得到了我的要求。$parent.$parent.counter,达到了目的。谢谢@KinoP,但它不会达到目的。你的例子中有可能得到数字除以2的结果吗?如果有,请粘贴代码片段,这将解决我的问题BLeM.@ CRMAPEX我不确定我是否理解你的问题,但是检查上面的更新答案。{{BooLo.Error Trase:ValueCase}}的条件表达式是非常强大的。谢谢。我想要输出:2,因为在你的列表n [1,2,3,4,5]中只有2和4可以被2整除。现在,考虑动态列表的事实。假设n有[2,6,5,6,8,9,11]。,所以输出:4,因为n的(2,6,6,8)可以被2整除。所以,当n的一项被2整除,余数=0时,{counter}基本上需要递增。@crmApex检查一下。谢谢。我得到了我的要求。$parent.$parent.counter,达到了目的。