加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs中 ng-repeat详解

发布时间:2020-12-17 08:45:31 所属栏目:安全 来源:网络整理
导读:angularJs中ng-repeat的使用 一、ng-repeat常规使用: ng-repeat="每次循环的循环项 in 数据" 循环数据 生成DOM 示例:循环数组和对象,生成相应dom节点 body ng-app="myApp" ng-controller="demoCtrl"ul !-- 1.遍历数组 --li ng-repeat="item in arr"{{item}

angularJs中ng-repeat的使用

一、ng-repeat常规使用: ng-repeat="每次循环的循环项 in 数据" 循环数据 生成DOM

示例:循环数组和对象,生成相应dom节点

<body ng-app="myApp" ng-controller="demoCtrl">
	<ul>
    <!-- 1.遍历数组 -->
		<li ng-repeat="item in arr">{{item}}</li>
	</ul>
  <p>{{ obj.a }}</p>
  <!-- 2.遍历对象只能取到属性值 -->
  <div ng-repeat="item in obj">{{item}}</div>
  
  <!-- 3.遍历对象,同时输出键值对形式 -->
	<div ng-repeat="(key,value) in obj">{{key}}==>{{value}}</div>

  <!-- 4.遍历常见的json数据 -->
	<div ng-repeat="person in persons">{{person.name}}</div>

  <!-- 5.遍历嵌套数组 -->
	<div ng-repeat="person in persons">
    {{person.name}}
		<span ng-repeat="item in person.hobby"> {{item}}</span>
	</div>

	<script src="node_modules/angular/angular.js"></script>
	<script>
		angular.module('myApp',[])

			.controller('demoCtrl',['$scope',function($scope){
				$scope.arr = [1,2,3,4];
				$scope.obj = {
					a:1,b:2
				}
				$scope.persons = [
					{
						name:'张三',hobby:['敲代码','睡觉']
					},{
						name:'李四',hobby:['篮球','乒乓球']
					},{
						name:'王五',hobby:['吃饭','睡觉','打豆豆']
					}
				]
			}])
	</script>
</body>

二、ng-repeat中的常见属性

  • ng-repeat="每次循环的循环项 in 数据" 循环数据 生成DOM
  • $index 当前循环的索引
  • $first 当前循环是否是第一次循环
  • $last 当前循环是否是最后一次循环(返回boolean值)
  • $middle 当前循环是否是中间项 除了第一项 和 最后一项 都是中间项
  • $even 是否是偶数项
  • $odd 是否是奇数项

示例代码:

<ul>
    <!-- 当一次循环的时候添加一个active类 导航中样式常用 -->
    <li ng-repeat="item in arr" class="{{$first ? 'active':' '}}">{{item}}
      <p>索引:{{$index}}</p>   
      <p>是都是最后一次循环:{{$last}}</p>
      <p>是否时中间项:{{$middle}}</p>
      <p>是否时偶数项:{{$even}}</p>
      <p>是否时奇数项:{{$odd}}</p>
    </li>
  </ul>
	<script src="node_modules/angular/angular.js"></script>
	<script>
		angular.module('myApp',function($scope){

        $scope.arr=[1,4,5];
			
			}])
	</script>

三、ng-repeat中不允许重复值的解决办法

  • 在循环当中 是不允许有重复项 使用 track by $index 解决这个问题(可以使用重复项)
<body ng-app="myApp" ng-controller="demoCtrl">
	<!--
		在循环当中 是不允许有重复项 使用 track by $index 解决这个问题(可以使用重复项)
	-->
	<ul>
		<li ng-repeat="item in arr track by $index">
      {{item}}
    </li>
	</ul>

	<script src="node_modules/angular/angular.js"></script>
	<script>
		angular.module('myApp',function($scope){
        <!-- 具有重复项a -->
				$scope.arr = ["a","b","c","a"];

			}])
	</script>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读