Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ionic framework 无法在Ionic中的For循环中正确设置变量_Ionic Framework_Ionic3 - Fatal编程技术网

Ionic framework 无法在Ionic中的For循环中正确设置变量

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;

我正在开发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;
    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] }}谢谢你的回答,兄弟。好的。不管这是否有效。谢谢兄弟的回答。它解决了我的问题。有时我们会去寻找困难的代码,它有一些代码短代码来解决问题。如果你觉得答案有帮助并且正确,请把它作为正确的答案:)再次感谢你的回答。