#angular
#angular
Вопрос:
Я хочу использовать оператор if только для консоли.в журнале есть «todo.title». Но когда я выписываю оператор if, под оператором if появляется красная строка.
Хорошо, позвольте мне объяснить эту проблему немного подробнее. Вот как выглядит веб-страница:
Все начальные элементы todo поступают изhttp://jsonplaceholder.typicode.com/todos. И я добавил новую строку под названием «test» через поле ввода. Когда я щелкнул по флажку для «удалять автоматически», он показал соответствующий console.log. Но когда я щелкнул по флажку для «Test», в консоли появилось это сообщение об ошибке.
Я пытаюсь изменить код так, чтобы он выводил консоль только для элементов, которые были получены с веб-сайта jsonplaceholder, и я пытаюсь сделать это, сказав «только если есть todo.title, тогда 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);
}
});
}
Комментарии:
1. Я полагаю, что это проблема с компоновкой, потому что ваш код не отформатирован.
2. Щелкните правой кнопкой мыши в текстовом редакторе и выберите Форматировать документ. Исчезает ли проблема?
3. Если вы наведете курсор мыши на код с красным подчеркиванием, появится текст, сообщающий вам, в чем проблема. В этом случае вам нужно обернуть свой
if
оператор в функцию.4. Я отредактировал вопрос, чтобы придать больше смысла тому, о чем я говорю
5. 1. Веб-служба выдает какое-то исключение, поэтому перейдите на вкладку Сеть и посмотрите запрос и сведения об исключении в ответе. 2 Сохраните точку останова в серверной функции и посмотрите, попадает ли она, и отладьте
Ответ №1:
Это должно быть .subscribe( () => { <your code (if...)> } );
Комментарии:
1. Я отредактировал вопрос, чтобы придать больше смысла тому, о чем я говорю
Ответ №2:
Я думаю, что вам может понадобиться что-то в следующих строках, поскольку ваше утверждение if всегда будет истинным, если вы сравниваете одни и те же два объекта.
onToggle(todo){
//Toggle in UI
todo.completed = !todo.completed;
//Toggle on server
this.todoService.toggleCompleted(todo).subscribe( ()=>
if(todo.title){
console.log(todo.title);
}
);
}
Комментарии:
1. Обратите внимание, что todoType будет заменен типом, которым, как вы ожидаете, должен быть возвращаемый todo, а возвращаемый todo — это объект, возвращаемый из todoService.
2. Я отредактировал вопрос, чтобы придать больше смысла тому, о чем я говорю
3. @VamsiKrishna, без проблем, посмотрим, поможет ли вам что-нибудь вышесказанное. (обратите внимание, что это было просто введено в текстовое поле, поэтому могут возникнуть незначительные проблемы с синтаксисом, но, похоже, это должно быть хорошо).