Я начал полный курс разработки стека в Udemy, и там есть секция метеора. Когда я компилирую код, он выдает следующую ошибку: «Исключение в помощнике по шаблону: ReferenceError: Todos не определен».
Я пробовал искать здесь, в stackoverflow, разрешения, но ни одно из них, похоже, не работает.
Я попытался назвать шаблон «телом», это было одним из предложений.
Вот что я получил.
клиент/main.js
import { Template } from 'meteor/templating';
import { Todos } from '/lib/collections';
import './main.html';
Template.main.helpers({
title(){
return 'QuickTodos';
},
todos(){
const todos = Todos.find();
return todos;
}
});
Template.main.events({
'submit .add-todo'(event){
event.preventDefault();
const text = event.target.text.value;
const time = event.target.time.value;
Todos.insert({
text,
time
});
event.target.text.value = '';
event.target.time.value = '';
}
});
Template.todo.events({
'click .toggle-checked'(event){
Todos.update(this._id, {
$set:{checked: !this.checked}
});
},
'click .delete'(event){
Todos.remove(this._id);
}
});
клиент/main.html
<head>
<title>QuickTodos</title>
</head>
<body>
{{> main}}
</body>
<template name="main">
<header>
<h1>{{title}}</h1>
<form class="add-todo">
<input type="text" name="text" placeholder="Add Todo...">
<input type="text" name="time" placeholder="Add Time...">
<button type="submit">Add</button>
</form>
</header>
<ul>
{{#each todos}}
{{> todo}}
{{/each}}
</ul>
</template>
<template name="todo">
<li class="{{#if checked}}checked{{/if}}">
<button class="delete">×</button>
<input type="checkbox" checked={{checked}} class="toggle-checked">
<strong>{{time}}:</strong> {{text}}
</li>
</template>
библиотека/коллекции.js
import { Mongo } from 'meteor/mongo';
export const Todos = new Mongo.Collection('todos');
Когда я компилирую сейчас, ошибки нет, но когда я ищу в консоли браузера Todos.find().fetch()
, это дает эту ошибку:
Uncaught ReferenceError: Todos is not defined
at <anonymous>:1:1