【发布时间】:2018-12-26 03:00:03
【问题描述】:
我正在使用 ionic 框架开发移动应用程序,我有一个获取交易数据的 api 调用,我必须在我的 html 模板中列出交易:
api返回的数据:
[
{
amount1:"100",
buyer_email:null,
buyer_name:"test",
confirms_needed:2,
created_at:"2018-07-09 07:56:33",
id:8,
invoice:null,
currency1: "USD"
},
{
amount1:"100",
buyer_email:null,
buyer_name:"test",
confirms_needed:2,
created_at:"2018-07-10 04:36:33",
id:6,
invoice:null,
currency1: "USD"
}
]
进行 api 调用的打字稿代码:
ionViewDidLoad() {
this.transactionProvider.getTransactions()
.subscribe((data:any)=>{
this.transactions = data;
console.log(this.transactions);
},error=>{
console.log(error);
});
}
我只是通过在导出类下输入交易来初始化交易。
这就是我循环交易数据的方式。
<div class="width-100p fl-left box-shadow border-radius-10 padd-tp-bt-10 mg-tp-20" *ngFor="let transaction of transactions">
<div (click)="saveTransactionClick(transaction)">
<img width="20" src="assets/imgs/currencies/icons/{{transaction.currency1}}.png">
<div class="fl-left mg-l-10">
<div class="f-size-12 width-100p fl-left">{{transaction.currency1}} text: {{transaction.id}} :tet</div>
<div class="f-size-10 width-100p fl-left gray">{{transaction.created_at | date: 'yyyy-MM-dd'}}</div>
<div class="f-size-10 width-100p fl-left gray">{{transaction.created_at | date: 'hh:mm:ss'}}</div>
</div>
</div>
</div>
现在问题是当我console.log(this.transactions) id 未定义但其余数据正确时:ammount、buyer_name ...
如果我从 html 中删除 ngFor,则 id 将恢复正常。
我不知道为什么会发生这种情况,我不知道如何解决它 谢谢
更新
错误是使用 ngIf 的方式错误
在我的 html 中,我有一个我不知道的错误 ngif
*ngIf="transaction.id = clickedTransactionId" 更改为 *ngIf="transaction.id == clickedTransactionId 时效果很好
谢谢
【问题讨论】:
-
发布您的
*ngfor部分代码。 -
我更新了问题
-
交易中的 currency1 不存在。您的 JSON 没有逗号。
-
不,这是 json 的一个小样本,数据太大,无法放在这里并且存在货币,我会修复它。
-
您在
}和{之间仍然缺少一个逗号。你的代码对我有用。这是stackblitz
标签: angular typescript ionic-framework ionic3 angular-ng-if