无法使用ionic2检查if条件中的空字符串

时间:2017-11-02 14:15:19

标签: typescript ionic2

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

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

但是

  

运行时错误。无法阅读财产' 0'未定义的。

我是Ionic 2的新手。

3 个答案:

答案 0 :(得分:1)

修改IF条件,如下所示

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

答案 1 :(得分:1)

我可能会这样做

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;
}

答案 2 :(得分:0)

我建议你创建一个名为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函数定义为here