Co_*_*_42 1 javascript arrays angularjs
我在一个控制器中定义了一个2D数组但是当我尝试在它上面循环时,有2个重叠的循环,它不能像预期的那样工作.第一个循环工作正常,但第二个循环不起作用.
JS/index.js
var gameOfLifeApp = angular.module('gameOfLifeApp', []);
gameOfLifeApp.controller('fieldCtrl', function ($scope) {
$scope.field = [
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]
];
});
Run Code Online (Sandbox Code Playgroud)
的index.html
<!DOCTYPE HTML>
<html ng-app="gameOfLifeApp">
<head>
<meta charset="UTF-8">
<title>Game of Life</title>
<link rel="stylesheet" href="css/style.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.13/angular.min.js"></script>
<script src="js/index.js"></script>
</head>
<body ng-controller="fieldCtrl">
<div id="field">
<div class="column" ng-repeat="column in field">
<div class="cell" ng-repeat="cell in column"></div>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
输出:
<body ng-controller="fieldCtrl" class="ng-scope">
<div id="field">
<!-- ngRepeat: column in field -->
<div class="column ng-scope" ng-repeat="column in field">
<!-- ngRepeat: cell in column -->
</div>
<!-- end ngRepeat: column in field -->
<div class="column ng-scope" ng-repeat="column in field">
<!-- ngRepeat: cell in column -->
</div>
<!-- end ngRepeat: column in field -->
<div class="column ng-scope" ng-repeat="column in field">
<!-- ngRepeat: cell in column -->
</div>
<!-- end ngRepeat: column in field -->
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
我做错了什么 ?
你不能用这个.如果每个单元格与非对象相同,则Angular无法跟踪每个单元格.要过度使用此track by关键字并使用$index跟踪.
<div id="field">
<div class="column" ng-repeat="column in field">
<div class="cell" ng-repeat="cell in column track by $index"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4483 次 |
| 最近记录: |