Meteor の外部 API への呼び出しからのデータをテンプレートに入力するための基本的なパターンを理解するのに苦労しています。
これらは作用する要素です
- 実行して作成された新しい Meteor プロジェクト
meteor create monkeyproject
- JSON 配列を返す外部 API の URL。だとしましょう
example.com/api/getmonkeys
。それぞれ異なる を持つサルの配列を返しますname
。 ループ
monkeyTemplate
で呼び出されるハンドルバー テンプレート。{{#each}}
これだとしましょう:<template name="monkeyTemplate"> {{# each monkeys}} One of our monkeys is named {{name}}. <br> {{/each}} <input type="button" id="reload" value="Reload monkeys" /> </template>
私がしたいこと
- ページが読み込ま
monkeyTemplate
れると、外部 URL からサルが表示されます。 - ユーザーがボタンをクリックすると、外部 URL が再度呼び出されてサルがリロードされます。
質問
Meteorで上記を行うための標準的なパターンは何ですか? 質問が混乱するリスクがあるので、私が理解しているいくつかの出発点を含めます。
関数から返されたものをテンプレートに入力でき
Template.monkeyTemplate.monkeys
ます。外部リクエストが終了する前にページがロードされることを考えると、外部 URL からのコンテンツをどのように入力するのでしょうか?を使用して JSON を取得できます
Meteor.HTTP.call("GET", "http://example.com/api/getmonkeys", callback )
。このリクエストをどこに入れ、この状況でコールバック関数に何を入れますか?Meteor.isServer
/条件を使用するか、およびとMeteor.isClient
呼ばれるファイルにコードを配置することで、サーバー側で何が起こるか、クライアント側で何が起こるかを制御できます。サーバー側とクライアント側に必要なコードは何ですか?client
server
関数を にアタッチすることで、ボタンがクリックされたときに何が起こるかを決定します
Template.monkeyTemplate.events['click #reload']
。この状況で、コールバック関数には何が入るでしょうか?
くだらないコードで質問を混乱させることは控えます。私は、私のためにアプリケーションを書いたり書き直したりする人を探しているわけではありません。ガイドライン、標準パターン、ベスト プラクティス、および落とし穴を探しているだけです。うまくいけば、これは他の初心者にも有益です。