我想填充一张表格,其中包含带有角度循环的tr和#t。我用PHP填充了我的表格和td'
for($j = 1; $j <= 8; $j++){
echo "<tr>";
for($i = 1; $i <= 20; $i++){
if($string[$k] == "#"){
echo "<td id='$k'>#</td>";
}elseif($string[$k] == "&"){
echo "<td class='click' val='water' id='$k'>&</td>";
}else{
echo "<td class='click' id='$k'><a href='#'></a></td>";
}
$k++;
}
echo "</tr>";
}
如何使用angular完成同样的事情?
答案 0 :(得分:0)
为了实现这一目标,您需要在数组中包含元素,以便使用ng-repeat填充列表。 看看Angular JS - ng-repeat and loop conditions
答案 1 :(得分:0)
您的代码中描述的范例非常有棱角。在您的代码中,您使用服务器端代码来汇编标记。角度方法是使用服务器端代码将数据发送到客户端(通过AJAX,或加载内联JSON或javascript),然后 angular 组装标记。
有些人喜欢这种方法有很多原因,但对我来说很突出的是:你可能会在任何情况下使用javascript与这个标记进行交互,但是角度允许服务器与页面的交互行为无关。更好地分离关注点。
为了更直接地回答你的问题,做一些这样的事情(从这里开始拍摄):
<script>
myAngularApp.controller('MyController', ['$scope', function($scope) {
$scope.myTableData = <?php echo $myTableJSON; ?>;
}]);
</script>
<table ng-controller="MyController">
<tbody>
<tr ng-repeat="row in myTableData">
<td ng-repeat="cell in row">{{ cell.text }}</td>
</tr>
</tbody>
</table>
答案 2 :(得分:0)
我建议你不要使用角度。 Angular是更高级的框架。你应该把这段代码安静地写成一个独立的非角度模块,并用forular的数据绑定指令包装。