无法使用 ionic2 在 if 条件下检查空字符串



我正在搜索表单上工作,我需要检查城市是否为空。如果为空,则将班加罗尔分配给它,其他显示所选城市。这是我的 If 条件

if(this.locations[0].city!="")
{
   var Dynamic = this.locations[0].city;
}
else
{
   Dynamic = "Bangalore";
}

但是得到

运行时错误。无法读取未定义的属性"0"。

我是Ionic 2的新手。

修改 IF 条件,如下所示

 if(this.location!=undefined && this.location.length!=0 && this.locations[0].city!="")
    {
       var Dynamic = this.locations[0].city;
    }
    else
    {
       Dynamic = "Bangalore";
    }

我可能会这样做

var Dynamic = "Bangalore";
' first to are verifying they are defined
if(this.locations && this.locations[0] && this.locations[0].city && this.locations[0].city.length > 0)
{
  Dynamic = this.locations[0].city;
}

我建议你创建一个名为checkNested的函数来检查嵌套对象的有效性,并在整个应用程序中使用它。您可以将其放在服务中。

另外,我认为出于范围原因,您应该在 if 语句之外定义Dynamic

var Dynamic = "Bangalore";
if(this.locations &&  // Checking if this.locations is valid before indexing it
   this.checkNested(this.locations[0], "city") && 
   this.locations[0].city !="" ){
   Dynamic = this.locations[0].city;
}

此处定义了checkNested函数。

相关内容

  • 没有找到相关文章

最新更新