我有一个问题: 我是离子/角度的新手,我不能进行ng级工作
<ion-content padding>
<ion-grid>
<ion-row>
<ion-col>
<ion-row>
<ion-col *ngFor="let field1 of gs.fields; let x = index; trackBy: trackByFn">
<!-- new row if x % 3 == 0 -->
<ion-col *ngFor="let field2 of field1; let y = index; trackBy: trackByFn">
<ion-row>
<ion-col class="ctr fc tile" *ngFor="let tile of field2; let z = index; trackBy: trackByFn" (click)="playerClick(x,y,z)">
<span class="ctr" ng-class="{'player1': tile==1, 'player2' : tile==2}">{{(tile==0)? ' ': ((tile==1)? 'x' : 'o')}}</span>
</ion-col>
</ion-row>
</ion-col>
</ion-col>
</ion-row>
</ion-col>
</ion-row>
</ion-grid>
</ion-content>
&#13;
(click)="playerClick(x,y,z)"
在我的服务中被调用,所以我不应该使用任何ng模型吗?我的意思是{{(tile==0)? ' ': ((tile==1)? 'x' : 'o')}}
正在工作,所以Angular应该让每个变量使用正确的吗?
它在浏览器中的显示方式:
<ion-col class="ctr fc tile col">
<span class="ctr" ng-class="{'player1': tile==1, 'player2' : tile==2}">x</span>
</ion-col>
我还尝试在函数内部调用ng-style和console log中的函数来测试它是否被调用但是它不是。
示例:<span class="ctr" ng-style="{'color':getTileColor(tile)}">{{(tile==0)? ' ': ((tile==1)? 'x' : 'o')}}</span>
此外,如果x%3 == 0,我想强制换行
我想的是(但它不起作用):
<ion-content padding>
<ion-grid>
<ion-row>
<ion-col>
<ion-col *ngFor="let field1 of gs.fields; let x = index; trackBy: trackByFn">
<ion-row ng-if "x % 3 == 0">
<!-- new row if -->
<ion-col *ngFor="let field2 of field1; let y = index; trackBy: trackByFn">
<ion-row>
<ion-col class="ctr fc tile" *ngFor="let tile of field2; let z = index; trackBy: trackByFn" (click)="playerClick(x,y,z)">
<span class="ctr" ng-class="{'player1': tile==1, 'player2' : tile==2}">{{(tile==0)? ' ': ((tile==1)? 'x' : 'o')}}</span>
</ion-col>
</ion-row>
</ion-col>
</ion-row ng-if "x % 3 == 0">
</ion-col>
</ion-col>
</ion-row>
</ion-grid>
</ion-content>
&#13;
^我把离子行放在第一个nGFor里面
<ion-row ng-if "x % 3 == 0">
答案 0 :(得分:4)
我认为你将角度1与角度2混淆。
ng-style
和ng-class
是角度1语法
在角度2及以上调用这些指令的正确方法是:
[ngClass]="{'player1': tile==1, 'player2' : tile==2}"
[ngStyle]="{'font-size': fontSize+'px'}"
链接到docs