Ceci est la chose la plus étrange, pour une raison quelconque, même avec l'auto-publication activée, je ne peux pas accéder à la collection à partir de la console du navigateur. Le code ci-dessous est un programme de liste simple où vous pouvez entrer des éléments dans la collection et il apparaîtra comme une liste sur l'écran. Dans la console lorsque j'essaie d'accéder à la base de données en tapant People.find() ou People.find(). Fetch() il provoque une erreur 'ReferenceError: Impossible de trouver la variable: People'Lorsque vous utilisez Meteor, je ne peux pas accéder à la collection depuis la console client?
Comment ça se fait passe je publie autopublish, alors je pensais pouvoir accéder à la collection du client?
code:
var People = new Meteor.Collection("people");
if (Meteor.isClient) {
console.log(People.find());
Template.personList.people = function() {
return People.find();
};
Template.personForm.events({
'click button': function(e, t) {
var el = t.find("#name");
People.insert({ name: el.value });
el.value = "";
}
});
Template.person.editing = function() {
return Session.get("edit-" + this._id);
};
Template.person.rendered = function() {
var input = this.find("input");
if(input) {
input.focus();
}
};
Template.person.events({
'click .name': function (e, t) {
Session.set("edit-" + t.data._id, true);
},
'keypress input': function (e, t) {
if (e.keyCode == 13) {
People.update(t.data._id, { $set: { name: e.currentTarget.value }});
Session.set("edit-" + t.data._id, false);
}
},
'click .del': function (e, t) {
People.remove(t.data._id);
}
});
}
J'ai donc découvert qu'avec Meteor 0.6 les collections ne sont pas définies globalement en utilisant var. J'ai enlevé le var et maintenant j'ai pu accéder à la Collection depuis la console. Bien que j'ai lu que vous pouvez également mettre le symbole @ devant la variable de collection comme ceci: @People = new Meteor.Collection ("people"); J'ai fait ça mais ça ne marche pas. Comment puis-je faire fonctionner le symbole @? – nearpoint