Tr和td在表格中有角度

时间:2014-08-15 11:46:21

标签: javascript html angularjs html-table

我想填充一张表格,其中包含带有角度循环的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完成同样的事情?

3 个答案:

答案 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的数据绑定指令包装。