Ionic framework 无法在Ionic中的For循环中正确设置变量
我正在开发Ionic电子商务应用程序,我正在检查使用0或1的产品的缺货 这是我的产品详细信息。ts:Ionic framework 无法在Ionic中的For循环中正确设置变量,ionic-framework,ionic3,Ionic Framework,Ionic3,我正在开发Ionic电子商务应用程序,我正在检查使用0或1的产品的缺货 这是我的产品详细信息。ts: outofstockp: boolean = false; for(var k in this.detailsp.msg) { console.log(this.detailsp.msg[k].out_of_stock); if(this.detailsp.msg[k].out_of_stock === "1") { this.outofstockp = true;
outofstockp: boolean = false;
for(var k in this.detailsp.msg)
{
console.log(this.detailsp.msg[k].out_of_stock);
if(this.detailsp.msg[k].out_of_stock === "1")
{
this.outofstockp = true;
this.hassize = false;
}
}
其中,this.detailsp.msg
是包含产品的数组。所以,这就是为什么我应用循环来检查产品缺货的原因<代码>控制台.log(this.detailsp.msg[k].缺货)给了我3个输出1、0和0,因为我有3个产品,但问题是它位于this.OutofStock p=true代码>适用于所有产品
这是我的productdetails.html:
<ion-col *ngIf="hassize" style="padding: 0px;">
<button [disabled]="!product.SelectedSize" class="mybtn11" (click)="addToCart(product)" ion-button small>
Add to Cart
</button>
</ion-col>
<ion-col *ngIf="outofstockp" style="padding: 0px;">
<button disabled class="mybtn11" ion-button small>
Out Of Stock
</button>
</ion-col>
添加到购物车
缺货
在这里,我使用了两个按钮,如果产品缺货它将显示缺货按钮,否则它将显示添加到启动按钮。但问题是,它显示了所有产品的缺货按钮,因为我的状况运行正常
非常感谢您的帮助。。outofstock=true
在每个循环中都会重新更新,您需要在模板中使用*ngFor并使用数组而不是单个值,您的代码有缺陷,请在提出此类问题之前查看您的逻辑我认为在ts文件中包含此逻辑不是一个好主意。您可以在html文件中轻松处理此问题。
假设您已经在模板(.html)中循环使用产品数组,并且在每次迭代中都会得到一个产品对象。由于ts文件指示产品对象有一个名为out\u of\u stock的属性,因此可以直接在html中使用该属性
像这样的,
<ion-col *ngIf="product.out_of_stock == '0'" style="padding: 0px;">
<button [disabled]="!product.SelectedSize" class="mybtn11" (click)="addToCart(product)" ion-button small>
Add to Cart
</button>
</ion-col>
<ion-col *ngIf="product.out_of_stock == '1'" style="padding: 0px;">
<button disabled class="mybtn11" ion-button small>
Out Of Stock
</button>
</ion-col>
添加到购物车
缺货
如果您只想在TS文件中处理这个问题,那么您需要考虑使用KEY值,该值在您的密钥中是您的产品ID或产品对象,并且值将是一个包含OutoStopp、每个产品的HasStand值的数组。但是我建议您不要这样做,因为您有在模板中获得结果的最简单的方法。
如果我想签入ts文件,那么。创建这样的数组。outofstockfb[k]=false,在If和this之外。hassize[k]=true,在If内部更新值,然后在html文件中针对ngIf,比如{{outofstock,使用这个变量[i] }}谢谢你的回答,兄弟。好的。不管这是否有效。谢谢兄弟的回答。它解决了我的问题。有时我们会去寻找困难的代码,它有一些代码短代码来解决问题。如果你觉得答案有帮助并且正确,请把它作为正确的答案:)再次感谢你的回答。