如果条件在角度5中不起作用,则为假或空对象

时间:2018-11-13 07:37:49

标签: javascript angular angular5

我在api的响应中变得虚假。如果我console.log,结果将显示{}。我想做的是,如果响应为假,则重定向到主页。但是错误的条件不起作用。下面是我的代码:

this.sub = this.route.params.subscribe(params => {
    this.token = params['Token'];
    this.common.createAPIService('api/users/recoverpassword/ValidateLink?Token=' + this.token + '', '').subscribe((result: any) => {

        console.log(result);
        if (!result || result == {} || result == false) {
            this.common.ShowNotification("Change Password", "Invalid Request", "error");
            // setTimeout(function () {
            //     window.location.href = "#";
            // }, 3000);
            console.log(12);
            this.zone.run(() => this.router.navigateByUrl("/home/" + "Mumbai"));
        }
    });
});

我尝试了!result{},甚至result == false,但是它不起作用。处于警告状态或console.log尚未发出的警报。请帮忙。

2 个答案:

答案 0 :(得分:0)

使用===代替==

 if (!result || result === {} || result === false) {
                    this.common.ShowNotification("Change Password", "Invalid Request", "error");
                    // setTimeout(function () {
                    //     window.location.href = "#";
                    // }, 3000);
                    console.log(12);
                    this.zone.run(() => this.router.navigateByUrl("/home/" + "Mumbai"));
                }

有关更多信息,您可以参考此== vs ===

答案 1 :(得分:0)

在Java语言中,您应该检查自己的状况是真实的还是虚假的

引用https://developer.mozilla.org/en-US/docs/Glossary/Truthy