angular - Angular 应用程序也不显示任何内容,但应用程序未加载
问题描述
我正在构建一个有角度的 Todo 应用程序。在我添加本地存储内容之前,该应用程序运行良好。你能说一下可能出了什么问题。下面是服务文件。该应用程序添加任务,删除任务,将任务标记为已完成,过滤任务 n 等等
预期的。该应用程序应该执行所有上述任务实际:localhost:4200 不断重新加载,但应用程序没有打开
todo.service.ts
export class TodoService {
todoTitle: string = '';
idForTodo: number;
filter: string = 'all';
anyRemainingModel: boolean = true;
constructor() {
let todos = this.getTodos();
if (todos.length == 0) {
this.idForTodo = 0;
} else {
let maxId = todos[todos.length-1].id;
this.idForTodo = maxId + 1;
}}
public getTodos(): Todo[] {
let localStorageItem = JSON.parse(localStorage.getItem('todos'));
return localStorageItem == null ? [] : localStorageItem.todos;
}
addTodo(todoTitle: string): void {
if (todoTitle.trim().length === 0) {
return;
}
let todos = this.getTodos();
todos.unshift({
id: this.idForTodo,
title: todoTitle,
completed: false,
editing: false
})
this.setLocalStorageTodos(todos);
this.idForTodo++;
}
this.anyRemainingModel = this.anyRemaining();
todo.editing = false;
}
deleteTodo(id: number): void {
let todos = this.getTodos();
todos = todos.filter(todo => todo.id !== id);
this.setLocalStorageTodos(todos);
}
remaining(): number {
let todos = this.getTodos();
return todos.filter(todo => !todo.completed).length;
}
atLeastOneCompleted(): boolean {
let todos = this.getTodos();
return todos.filter(todo => todo.completed).length > 0;
}
clearCompleted(): void {
let todos = this.getTodos();
todos = todos.filter(todo => !todo.completed);
}
checkAllTodos(): void {
let todos = this.getTodos();
todos.forEach(todo => todo.completed = (<HTMLInputElement>event.target).checked)
this.anyRemainingModel = this.anyRemaining();
}
todosFiltered(): Todo[] {
let todos = this.getTodos();
if (this.filter === 'all') {
return todos;
} else if (this.filter === 'active') {
return todos.filter(todo => !todo.completed);
} else if (this.filter === 'completed') {
return todos.filter(todo => todo.completed);
}
return todos;
}
private setLocalStorageTodos(todos: Todo[]): void {
localStorage.setItem('todos', JSON.stringify({ todos: todos }));
}
}
解决方案
推荐阅读
- java - 尽管没有任何错误,但 JDBC 无法更新
- regex - 正则表达式:匹配带有下划线和 id 的单词
- perl - 如何将多个 HMTL 文件中的内容合并到一个文件中?
- http - 为什么不总是为 CORS 请求发送 Origin HTTP 标头?
- javascript - React cloneElement 不适用于功能组件
- java - 如何将参数注入 JUnit 5 扩展
- java - 如何查找数字序列是升序还是降序
- java - 使用 httpClient 创建 HttpComponentsMessageSender
- matlab - 在单元格中的单元格数组之间拆分和合并
- node.js - 为发出事件添加附加参数 - Quasar