Angular 4-调用内部函数

时间:2018-09-26 08:11:10

标签: angular service subscribe

我有一个功能

isNull(name: string, lname: string): void {
  if (name === null || lname === null)
    alert("User not found");
}

我在订阅内部调用此功能

callSearchService($event) {
  this.searchService.searchUser(this.firstName, this.lastName)
    .subscribe(
      data => {
        console.log("we got: ", data);
        this.isNull(data.firstname, data.lastname);
      },
      error => {
        console.log("Error", error);
      }
   );
}

但是此功能不起作用。你能帮助我吗 ?

3 个答案:

答案 0 :(得分:3)

首先请确保您的浏览器允许发出警报, 然后在isNull()或console.log内部调试方法中的2项(名称,名称)。 你不想使用'===' 这可能有效

isNull(name: string, lname: string): void {
 if (!name || !lname)
// you can use console.log(name + " " + lname)
  alert("User not found");
}

答案 1 :(得分:1)

使用

isNull(name: string, lname: string): void {
 if (!!name || !!lname)
  alert("User not found");
}

代替

isNull(name: string, lname: string): void {
 if (name === null || lname === null)
  alert("User not found");
}

答案 2 :(得分:0)

您应该使用双等于。 Double equals检查是否为null或undefined。这是您唯一应该使用双等于而不是三等于的方法。

isNull(name: string, lname: string): void {
  console.log(name, lname)
  if (name == null || lname == null) console.error('User not found');
  else {
    console.log('we got the user')
  }
}