メインの js ファイルで、「new Meteor.Collection("Decks")」を定義し、データがない場合はデータを入力します。
これで、テンプレートのイベント用の JavaScript を含むビュー フォルダーがクライアント フォルダーに作成されました。各テンプレートには独自の js ファイルがあります。これらのイベントは、Decks コレクションのクエリと更新を行う必要がありますが、それを行う方法がわかりません。イベントコードに「new Meteor.Collection("Decks")」と書いてみたのですが、コレクションが既に存在するというエラーが出てしまいました。
おそらくrequirejsを使用してグローバル変数をイベントに渡すことを想像できますが、Meteorでそれを行うネイティブな方法が必要だと感じています.
別のファイルにある同じコレクションにアクセスするにはどうすればよいですか?
例として、私のアプリは「builder」と呼ばれているため、メインの js は「builder.js」と呼ばれ、以下が含まれています。
var Decks = new Meteor.Collection("Decks");
次に、クライアントフォルダーに「do_other_stuff.js」という別のjavascriptファイルがあり、Decksコレクションを照会したいので、次のようになります:
var first_deck = Decks.findOne({name: "first"});
しかし、Decks はグローバル変数ではないため、明らかにそれは機能しません。