Meteor Wo definiere ich meine Sammlung?

7

Ich habe eine ziemlich einfache App-Struktur, die diese Bibliotheken enthält

server - enthält eine Konfiguration für Routing und ENV

client - enthält Vorlagen ( <template name=".*"></template> ) & amp; JS-Datei für jede Vorlage

collections

jetzt in Sammlungen Ich habe Datei namens "Albums.js" und hat einen ziemlich einfachen Inhalt

var Albums = new Meteor.Collection("Albums");

jetzt in meinem Client-Ordner versuche ich auf diese Variable Albums zuzugreifen und ich bekomme einen undefinierten Fehler.

Mein Ziel ist es, Daten von form zu übernehmen und an collection.insert

weiterzuleiten     
Yochai Akoka 13.07.2013, 08:15
quelle

3 Antworten

12

Verwenden Sie var nicht, es sei denn, Sie möchten es privat für diese Datei haben.

  

Alben = new Meteor.Collection ("Alben");

    
Steeve Cannon 13.07.2013, 11:12
quelle
5

Eine weitere Möglichkeit zum Definieren globaler Variablen besteht darin, eine neue Datei zu erstellen, z. collections.js und lege es direkt in den App-Stammordner (nicht in einen Unterordner!)

In dieser Datei können Sie eine globale Variable / Sammlung definieren (ohne var Schlüsselwort)

    
mrmnmly 18.12.2013 21:58
quelle
4

Variablen, die mit var keyword definiert wurden, sind lokal für die Datei, in der sie definiert sind. Wenn Sie eine globale Variable für mehrere Dateien verwenden möchten, müssen Sie sie ohne das Schlüsselwort var definieren.

Es sieht so aus, als wäre es nicht im Dokument, aber es ist in der Datei Ссылка (für Version 0.6.0):

  

Variablen, die mit var auf der äußersten Ebene einer JavaScript-Quelldatei deklariert wurden, sind jetzt für diese Datei privat. Entfernen Sie die Variable, um einen Wert zwischen Dateien freizugeben.

Grundsätzlich wird jede JS-Datei in das Muster (function(){ ... })(); eingeschlossen, um diese Einkapselung bereitzustellen.

    
Hubert OG 13.07.2013 09:24
quelle

Tags und Links