sreeprasad
sreeprasad

Reputation: 3260

creating a list using meteor

Hi I am creating a money lend tracking website using meteor. It is my first attempt to learn meteor js. I tried writing the following piece of code in my js file

var lists = new Meteor.Collection("Lists");

But when I go back in Chrome developer console after refreshing page and type

lists
ReferenceError: lists is not defined
get stack: function () { [native code] }
message: "lists is not defined"
set stack: function () { [native code] }
__proto__: Error

Is there something i am missing ? Could any one help me.

Upvotes: 2

Views: 1078

Answers (3)

Miguel Muñiz
Miguel Muñiz

Reputation: 61

From the book "Getting Started with Meteor.js JavaScript"

Errata type: Code| Page number: Chapter 2. Reactive Programming… It's Alive!, | Errata date: 18-4-2013

In the example:

var lists = new Meteor.Collection("Lists");

should read instead

lists = new Meteor.Collection("Lists");

The reason is that "...Meteor 0.6 has added file-level JavaScript variable
scoping. Variables declared with var at the outermost level of a JavaScript
source file are now private to that file. Remove the var to share a value
between files."

Upvotes: 1

Tom Kyler
Tom Kyler

Reputation: 31

Those using the book, "Getting Started with meteor.js", from which this example originates.... are instructed by the author to use the var keyword before "lists", thereby local scoping that variable and causing the mismatch between what the book says you should see and what you actually see in a browser console. This is a mistake in the book and I have been unable to find any online errata for the book.

Upvotes: 3

Tarang
Tarang

Reputation: 75945

You can't access lists from your web console because code is scoped with each file. In meteor your code would be run as

function() {
    var lists = new Meteor.Collection("Lists");
    ....
}

So to access your collection in the console you need to globally scope it by changing your line to:

lists = new Meteor.Collection("Lists");

So that lists can be used anywhere such as other files and the webkit console

Upvotes: 6

Related Questions