Angularjs 使用angular js打印矩阵

Angularjs 使用angular js打印矩阵,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,我正在尝试以角度js打印8x8矩阵。下面是index.html的相关部分- <tr ng-repeat="i in [0, 1, 2, 3, 4, 5, 6, 7]"> <tr ng-repeat="j in [0, 1, 2, 3, 4, 5, 6, 7]"> <td>{{i+j}}</td> </tr> </tr> {{i+j} 但它不打印矩阵,只打印从0

我正在尝试以角度js打印8x8矩阵。下面是index.html的相关部分-

<tr ng-repeat="i in [0, 1, 2, 3, 4, 5, 6, 7]">
        <tr ng-repeat="j in [0, 1, 2, 3, 4, 5, 6, 7]">
            <td>{{i+j}}</td>
        </tr>
  </tr>

{{i+j}

但它不打印矩阵,只打印从0到7的数字。我哪里出错了?

第二次ng重复将在td而不是嵌套tr中

像这样试试

<tr ng-repeat="i in [0, 1, 2, 3, 4, 5, 6, 7]">
        <td ng-repeat="j in [0, 1, 2, 3, 4, 5, 6, 7]">
            {{i+j }}
        </td>
  </tr>

{{i+j}

第二次ng重复将在td中,而不是嵌套tr中

像这样试试

<tr ng-repeat="i in [0, 1, 2, 3, 4, 5, 6, 7]">
        <td ng-repeat="j in [0, 1, 2, 3, 4, 5, 6, 7]">
            {{i+j }}
        </td>
  </tr>

{{i+j}

您不需要在行中创建行,而是需要以这种方式创建行

<table>
     <tr ng-repeat="i in [0, 1, 2, 3, 4, 5, 6, 7]">
        <td ng-repeat="j in [0, 1, 2, 3, 4, 5, 6, 7]">
            {{i+j}}
        </td>
  </tr>

{{i+j}

看到这个了吗


谢谢您,您不需要用这种方式在行中创建行

<table>
     <tr ng-repeat="i in [0, 1, 2, 3, 4, 5, 6, 7]">
        <td ng-repeat="j in [0, 1, 2, 3, 4, 5, 6, 7]">
            {{i+j}}
        </td>
  </tr>

{{i+j}

看到这个了吗

谢谢这会有帮助的

var myApp=angular.module('myApp',[]);
//指令('myDirective',function(){});
//工厂('myService',function(){});
函数MyCtrl($scope){
var矩阵=8;
$scope.matrix=[]
对于(var i=0;i

{{elem}}
这可能会有所帮助

var myApp=angular.module('myApp',[]);
//指令('myDirective',function(){});
//工厂('myService',function(){});
函数MyCtrl($scope){
var矩阵=8;
$scope.matrix=[]
对于(var i=0;i

{{elem}}

希望这有帮助。此程序将一维数组转换为矩阵。如果你有一个二维数组,事情就更简单了,你不需要逻辑来计算每一行中的元素。然而,其他一切都将保持不变

将数组转换为矩阵/网格 我有一个数组,我想把它转换成列大小为4的网格/矩阵。下面的实现对我有效。您可以在嵌套的ng repeat中使用两个计数器:行和列

在我的例子中,列数是3。但是你可以用一个变量替换3
h.seats
是我的对象数组,我想根据数组中元素的值打印X或-

<div class="table-responsive">
    <table class="table table-bordered">
        <thead>
            <tr>
                <th ng-repeat="n in [].constructor(3 + 1) track by $index">{{$index}}</th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="(row, y) in getNumber(h.seats.length, 3) track by $index">
                <td>{{row+1}}</td>
                <td class="text-primary"
                    ng-repeat="(col, t) in h.seats track by $index"
                    ng-if="col >= (row)*3 && col < (row+1)*3">
                        <span ng-show="t.status"> X </span> 
                        <span ng-show="!t.status"> - </span>
                </td>
            </tr>
        </tbody>
    </table>
</div>
ng if=“col>=(行)*3&&col<(行+1)*3”
是计算应将哪些元素放入该行的重要逻辑。 输出如下所示

0  1  2  3 
1  e1 e2 e3 
2  e4 e5 e6 
3  e7 e8 
有关如何使用行和列计数器的详细信息,请参阅以下链接:
希望这能有所帮助。此程序将一维数组转换为矩阵。如果你有一个二维数组,事情就更简单了,你不需要逻辑来计算每一行中的元素。然而,其他一切都将保持不变

将数组转换为矩阵/网格 我有一个数组,我想把它转换成列大小为4的网格/矩阵。下面的实现对我有效。您可以在嵌套的ng repeat中使用两个计数器:行和列

在我的例子中,列数是3。但是你可以用一个变量替换3
h.seats
是我的对象数组,我想根据数组中元素的值打印X或-

<div class="table-responsive">
    <table class="table table-bordered">
        <thead>
            <tr>
                <th ng-repeat="n in [].constructor(3 + 1) track by $index">{{$index}}</th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="(row, y) in getNumber(h.seats.length, 3) track by $index">
                <td>{{row+1}}</td>
                <td class="text-primary"
                    ng-repeat="(col, t) in h.seats track by $index"
                    ng-if="col >= (row)*3 && col < (row+1)*3">
                        <span ng-show="t.status"> X </span> 
                        <span ng-show="!t.status"> - </span>
                </td>
            </tr>
        </tbody>
    </table>
</div>
ng if=“col>=(行)*3&&col<(行+1)*3”
是计算应将哪些元素放入该行的重要逻辑。 输出如下所示

0  1  2  3 
1  e1 e2 e3 
2  e4 e5 e6 
3  e7 e8 
有关如何使用行和列计数器的详细信息,请参阅以下链接:

为什么在td中。你能解释一下吗。tr将创建行。。为了创建单元/块,必须使用td。这就是html表的结构@SubhamTripathisry,但你的答案只有在我使用
{{i+j}
而不是
{{i+''+j}}
为什么在td中才有效。你能解释一下吗。tr将创建行。。为了创建单元/块,必须使用td。这就是html表的结构@SubhamTripathisry,但你的答案只有在我使用
{{i+j}
而不是
{{i+''+j}