我在搜索表单上工作,我需要检查城市是否空。如果它是空的,则将班加罗尔指定给其他人显示所选城市。这是我的If条件
if(this.locations[0].city!="")
{
var Dynamic = this.locations[0].city;
}
else
{
Dynamic = "Bangalore";
}
但是
运行时错误。无法阅读财产' 0'未定义的。
我是Ionic 2的新手。
答案 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。