首页 > 解决方案 > Angular target.getAttribute() 检查空条件

问题描述

我在使用 Angular 时遇到了一些问题。我正在尝试相应地设置不同的值。下面作为我的代码:

 console.log("JJJJJJJ " + target.getAttribute("timingId"));
        console.log("KKKKKKKKK " + target.getAttribute("index"));
        if(target.getAttribute("timingId") != null){
          console.log("INSIDE ORI SET");
          this.timingId = target.getAttribute("timingId");
        } else {
          console.log("INSIDE INDEX SET");
          this.timingId = target.getAttribute("index");
        }
        console.log("HAHAHAHAHAHAH " + this.timingId);

我要做的是从 getAttribute() 中检查 timindId,如果它不为空,则设置它。如果为空,则从另一个字段中获取属性()然后设置它。我的控制台如下:

JJJJJJJ null
KKKKKKKKK 1
INSIDE ORI SET
HAHAHAHAHAHAH null

我不确定为什么当它被检测为 null 时,它不会进入 else 语句并设置值。有任何想法吗?

已编辑

console.log(typeof target.getAttribute("timingId"));
        console.log("JJJJJJJ " + target.getAttribute("timingId"));
        console.log("KKKKKKKKK " + target.getAttribute("index"));
        if(target.getAttribute("timingId") != null || target.getAttribute("timingId") != "null"){
          console.log("INSIDE ORI SET");
          this.timingId = target.getAttribute("timingId");
        } else {
          console.log("INSIDE INDEX SET");
          this.timingId = target.getAttribute("index");
        }
        console.log("HAHAHAHAHAHAH " + this.timingId);

谢谢!

标签: javascriptangular

解决方案


if您应该在语句中检查“null”作为字符串。

const timingId = target.getAttribute("timingId")
if (timingId != null && timingId !== "null") {
   this.timingId = timingId
} else {
   this.timingId = target.getAttribute("index");
}

推荐阅读