ng-if仅触发一次

时间:2018-05-04 12:16:55

标签: angular typescript multidimensional-array

今天我在一个有角度的应用程序中遇到了一个奇怪的行为。

我们在nginit的 component.ts 上填充了一个数组

    mydb.child("missions").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if (dataSnapshot.exists()) {


                for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
                    Mission mission = childSnapshot.getValue(Mission.class);
                    if (mission != null && !mission.getComment().isEmpty()) {
                        for (Comment comment : mission.getComment()) {
                            Log.d("comment", comment.getBody());
                        }
                    }
                }

            }

        }


        @Override
        public void onCancelled(DatabaseError databaseError) {


        }


    });

component.html 中,我们使用for循环迭代数组

for(let i = 0; i < 1; i++) {
    this.cluster[i] = [];
    for(let j = 0; j < 3; j++) {
       this.cluster[i][j] = false;
    }
}

如果我不完全错误,我们应该得到<div *ngFor="let col of cluster; let iCol = index" class="col-sm-4 offset-sm-2 col-md-4 offset-md-0"> <div *ngFor="let row of col; let iRow = index"> <div*ngIf="(cluster.length < 2 && cluster[0].length < 4)"> <p>Test</p> </div> </div> </div> 的3张照片,但我们只得到1张。

有人可以解释我出现错误的位置。提前谢谢!

1 个答案:

答案 0 :(得分:2)

你忘了关闭双引号。

  

使用此HTML代码

cases