【发布时间】:2021-05-17 14:30:08
【问题描述】:
我正在使用 Svelte 开发一个小型待办事项应用程序。我列出了来自 jsonplaceholder 的 10 个待办事项。
我要统计completed属性等于false的todos:
const apiURL = "https://jsonplaceholder.typicode.com/todos";
const limit = 10;
import { onMount } from "svelte";
import TodoItem from './TodoItem.svelte';
let todos = [];
let unsolvedTodos = [];
onMount(() => {
getTodos();
});
const getTodos = () => {
fetch(`${apiURL}?&_limit=${limit}`)
.then(res => res.json())
.then((data) => todos = data);
}
const getUnsolvedTodos = () => {
unsolvedTodos = todos.filter(todo => {
return todo.completed === false;
})
}
$:console.log(unsolvedTodos);
从 this REPL 中可以看出,unsolvedTodos 数组是空的。
编辑
我得到了未解决的待办事项列表及其长度,但我不能在标题组件中使用它。
const getTodos = () => {
fetch(`${apiURL}?&_limit=${limit}`)
.then(res => res.json())
.then((data) => todos = data)
.then(getUnsolvedTodos);
}
const getUnsolvedTodos = () => {
unsolvedTodos = todos.filter(todo => {
return todo.completed === false;
})
}
$:console.log(unsolvedTodos.length);
在 REPL 中可见,使用 <span class="count">{unsolvedTodos.length}</span> 会引发 unsolvedTodos is not defined 错误,尽管我导入了 ToDoList。
我的错误在哪里?
【问题讨论】:
-
你在任何地方调用你的函数
getUnsolvedTodosTodos吗? -
@devnull69 在
$:console.log(unsolvedTodos)行中。 -
不,这只是记录 unsolvedTodos 的内容,但根本没有调用函数
-
@devnull69 请查看我的编辑(问题)。
标签: javascript svelte