ng-repeat="v in arr track by $index"

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>Document</title>
  6. </head>
  7. <body ng-app="myApp">
  8. <!--
  9. ng-init:初始化数据
  10. ng-init="person={name:'小明'}"
  11. -->
  12. <div ng-app="myApp" ng-controller="myController">
  13. <input type="text" ng-model="iptValue">
  14. <input type="button" ng-click="clickFn()" value="按钮">
  15. <ul>
  16. <li ng-repeat="v in arr track by $index">{{v}}</li>
  17. </ul>
  18. </div>
  19. </body>
  20. <script type="text/javascript" src="angular.min.js"></script>
  21. <script type="text/javascript">
  22. // [] ---> 依赖
  23. var app = angular.module("myApp",[]);
  24. // $scope作用域:作用域范围myController
  25. app.controller("myController",function($scope){
  26. $scope.arr = ["111","222"];
  27. $scope.clickFn = function(){
  28. var v = $scope.iptValue;
  29. $scope.arr.push(v);
  30. $scope.iptValue = "";
  31. }
  32. });
  33. </script>
  34. </html>
 

1.现象

  1. <ul ng-app="myApp" ng-controller="myCtrl">
  2. <li ng-repeat="x in items">
  3. <strong>{{x}}</strong>
  4. </li>
  5. </ul>
  6. <script>
  7. //使用ng-repeat 重复 html代码
  8. var app = angular.module('myApp', []);
  9. app.controller('myCtrl', function ($scope) {
  10. $scope.items = [1, 2, 3, 2];
  11. });
  12. </script>

当数组中有重复项时,抛出异常

点击异常链接,没有看到异常

2.解决方法

默认在ng-repeat的时候每一个item都要保证是唯一的,否则console就会打出error告诉你哪个key/value是重复的。

指定跟踪值唯一可以了

  1. <ul ng-app="myApp" ng-controller="myCtrl">
  2. <li ng-repeat="x in items track by $index">
  3. <strong>{{x}}</strong>
  4. </li>
  5. </ul>
  6. <script>
  7. //使用ng-repeat 重复 html代码
  8. var app = angular.module('myApp', []);
  9. app.controller('myCtrl', function ($scope) {
  10. $scope.items = [1, 2, 3, 2];
  11. });
  12. </script>

AngularJs ng-repeat重复项异常解决方案的更多相关文章

  1. Part 6 AngularJS ng repeat directive

    ng-repeat is similar to foreach loop in C#. Let us understand this with an example. Here is what we ...

  2. 关于:未能加载文件或程序集“ICSharpCode.SharpZipLib”或它的某一个依赖项异常的解决方案

    问题: 今天项目迁移忽然又个ICSharpCode.SharpZipLib.dll 程序包丢失了,于是我在网上下载一个这样的包,结果程序运行就提示:未能加载文件或程序集“ICSharpCode.Sha ...

  3. AngularJs ng-repeat解决循环对象出现重复项报错的问题

    问题:ng-repeat  的循环对象是不能出现重复项的,所以如果有重复的就会报错,应该是 key value的问题吧,不是很了解内部运行机制:经过查询发现 在 循环后面加上  track by $i ...

  4. sed tr 去除PATH中的重复项

    最近发现由于自己不良的安装软件的习惯,shell的PATH路径包含了很多冗余的项.这里使用shell命令去除PATH的冗余项. export PATH=$(echo $PATH | sed 's/:/ ...

  5. 【python cookbook】【数据结构与算法】10.从序列中移除重复项且保持元素间顺序不变

    问题:从序列中移除重复的元素,但仍然保持剩下的元素顺序不变 解决方案: 1.如果序列中的值时可哈希(hashable)的,可以通过使用集合和生成器解决.

  6. sql分组合并字段重复项sql for xml path

    -------------------------(情景描述) 在我们处理数据时,可能会碰到这种情景: Id                Name 1                  a,b 2  ...

  7. 每日一道 LeetCode (8):删除排序数组中的重复项和移除元素

    每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...

  8. [LeetCode] Find All Duplicates in an Array 找出数组中所有重复项

    Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others ...

  9. [LeetCode] Remove Duplicates from Sorted List 移除有序链表中的重复项

    Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...

随机推荐

  1. C# 中多态和重载的区别

    一.多态性意味着有多重形式. 在面向对象编程范式中,多态性往往表现为"一个接口,多个功能". using System; using System.Collections.Gene ...

  2. TestNG学习笔记目录

    学习TestNG主要用于GUI自动化测试使用,学习目录随进度不断更新.文档内容主要是翻译官方doc,同时加入自己的理解和案例.如有理解偏差欢迎指正 一.TestNG Eclipse plug-in 安 ...

  3. python当中的装饰器

    1.装饰器 首先我们来说一下一个软件的设计原则:开闭原则,又被称为开发封闭原则,你的代码对功能的扩展是开放的,你的程序对修改源代码是封闭的.这样的软件设计思路可以更好的维护和开发. 开放:对功能扩展开 ...

  4. SoundPool在使用

    Button playButton; SoundPool sp; int soundID_1,soundID_2; int streamID_1,streamID_2;  @Override prot ...

  5. ASPNETPager常用属性(近来用到分页属性)

    ASPNETPager常用属性 建议去封装好,然后调用这样比较容易 <webdiyer:aspnetpager id="AspNetPager1" runat="s ...

  6. “全栈2019”Java第九十二章:外部类与内部类成员覆盖详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. Java8新特性学习笔记(一) Lambda表达式

    没有用Lambda表达式的写法: Comparator<Transaction> byYear = new Comparator<Transaction>() { @Overr ...

  8. oracle中将number类型毫秒值转为时间类型

    在搞数据库时,发现有这样的一个字段,类型是NUMBER(38),查看了一下里面的数据,都是这样的: 13239576781141321326994295132212930680413221297162 ...

  9. JQ 文件上传

    var formData = new FormData(); var name = $("input").val(); formData.append("file&quo ...

  10. [原创]SSH 隧道转发

    目录 简介 本地SSH隧道 远程SSH隧道 FAQ 免密码登陆 自动重连 简介 建立ssh隧道常用于, 通过一台公网的主机或者是大家都可以访问的主机做跳转机,来访问内部或者外部不能直接访问的机器. 项 ...