如何在Angular中使用if语句?

时间:2019-03-22 17:21:22

标签: angular

我想使用if语句仅在console.log中有一个“ todo.title”。但是当我写出if语句时,if语句下方会出现一条红线。

好的,让我更详细地解释这个问题。该网页如下所示:enter image description here

所有初始待办事项都来自http://jsonplaceholder.typicode.com/todos。然后,通过输入框添加了新行“ test”。当我单击“ delectus aut autem”复选框时,它显示了正确的console.log。但是,当我单击“测试”复选框时,它在控制台中显示了该错误消息。

我正在尝试更改代码,以便仅对来自jsonplaceholder网站的项目进行控制台,而我试图通过说“仅当有todo.title,然后是console.log,但如果没有,请不要console.log任何东西,这是我的新代码:

onToggle(todo) {
  // Toggle in UI
  todo.completed = !todo.completed;
  // Toggle on server
  this.todoService.toggleCompleted(todo).subscribe(    
    todo => { 
      if (todo.title) {
        console.log(todo);
      }        
    }); 
}

2 个答案:

答案 0 :(得分:4)

应为.subscribe( () => { <your code (if...)> } );

答案 1 :(得分:1)

我认为您可能需要以下内容,因为如果比较相同的两个对象,则if语句将始终为true。

onToggle(todo){
    //Toggle in UI
    todo.completed = !todo.completed;
    //Toggle on server
    this.todoService.toggleCompleted(todo).subscribe( ()=>
       if(todo.title){
           console.log(todo.title);
       }
    );  
}