J'ai une structure d'application assez simple contenant ces libs p>
maintenant à l'intérieur des collections, j'ai un fichier appelé "albums.js" et contient un contenu assez simple p>
maintenant dans mon dossier client, j'essaie d'accéder à cette variable Ma cible est de prendre des données de serveur code> - contient une certaine configuration pour routage et env p>
Client code> - contient des modèles (
collections code> p>
var albums = nouveau météore.collection ("albums"); code> p>
albums code> et je reçois une erreur indéfinie. P>
formulaire code> et de le transmettre à
Collection.insert code> p>
3 Réponses :
variables définies avec On dirait que ce n'est pas dans le doc, mais c'est dans le https: / /Github.com/meteor/meteor/blob/master/history.md fichier (pour la version 0.6.0): P>
Variables déclarées avec Var au niveau le plus à l'extérieur d'un fichier source JavaScript sont maintenant privés dans ce fichier. Supprimer le Var pour partager une valeur entre les fichiers. P>
blockQuote>
Fondamentalement, chaque fichier JS est enveloppé dans le var code> sont locales dans le fichier sont définies dans. Si vous souhaitez une variable globale, partagée entre les fichiers, vous devez le définir sans le
var Code> Mot clé. P>
(fonction () {...}) (); code> motif pour fournir cette encapsulation. P>
N'utilisez pas var sauf si vous le souhaitez privé de ce fichier. P>
albums = nouveau météore.Collection ("albums"); p> blockQuote>
Qu'est-ce qui détermine l'ordre des collections? Je les ai tous globaux et à l'intérieur du schéma de la collection X a une référence à un objet à l'intérieur du schéma de la collection Y, mais lorsque j'essaie d'y accéder, il est indiqué que collection y n'est pas défini code>. Que puis-je faire?
Un autre moyen de définir des variables globales est de créer un nouveau fichier, par exemple. Dans ce fichier, vous pouvez définir la variable / collection globale (sans collections.js code> et mettez-le directement dans votre dossier racine de l'application (pas dans un sous-dossier!) p>
var code> mot-clé) p>
En fait, vous voudrez peut-être le mettre dans votre dossier lib code> pour vous assurer qu'il est chargé avant la plupart des autres scripts.