問題タブ [meteor-helper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - 前のコンテキスト パラメーターを次の {{#Each}} ヘルパー ブロックに渡す Meteor Handlebars
問題のテンプレートは次のとおりです。
Meteor ハンドルバーの機能は次のとおりです。
問題は、画面に表示される各テーブルにすべての「ロール」がリストされていることです (100 行すべて)。パラメータでフィルタリングする代わりに、テーブル名 {{name}} である Roll テンプレート関数にパススルーしようとしています。
TableBox の「table id」タグで、{{name}} が正しく変換されます。つまり、「T1」、「T2」、「T3」などですが、dbクエリから適切にフィルタリングするために関数に渡す必要があるのは同じTableIDです。これをもっと簡単に行う方法はありますか?可能であれば、ここで物事を行う方法をテンプレート化するハンドルバーに固執したいと思います。
参考までに、テスト データの JSON 初期化コードを以下に示します。
javascript - Meteor テンプレート ヘルパーがコンテキストで変数を返さないのはなぜですか?
何らかの理由で、これはまったく機能しません。
{{user_slugged username}}
テンプレートで使用{{username}}
できる変数です。ただし、ヘルパーで null / undefined 値が返されます。
ここに私のヘルパーコードがあります
私が抱えている問題は、このようなことをしようとすると{{user_slugged 'Hello'}}
、すべてが正しく行われ、期待どおりに返されることです。
ただし、同じコード行で簡単に表示できるにもかかわらず、試してみる{{user_slugged username}}
とうまくいかないようです。{{username}}
これは本当に奇妙に思えますが、ハンドルバー ヘルパーにパラメーターを送信する方法が で変更された可能性があると考えていますMeteor 0.8.0
。もしそうなら、誰かが私を正しい方向に向けるか、この質問への答えを教えてくれれば幸いです.
編集:明確にするため{{username}}
に、同じ行で使用できる{{user_slugged username}}
ので、このようなものが機能します
<a href="{{user_slugged username}}">{{username}}</a>
username
テンプレートで使用できるオブジェクト プロパティであり、ヘルパーにパラメーターとして送信しようとしている時点で使用できます。
collections - テンプレート ヘルパーで Meteor.users() を使用する
Meteor 0.8.0 のテンプレート ヘルパー内からユーザー プロファイル データを取得する際に問題が発生しています。このコードは以前のバージョンでは正常に機能していましたが、今朝のアップグレード以降、機能しなくなりました。私は当初、これはテンプレート ヘルパーが 2 回実行される問題だと思っていましたが、調べてみると、それよりも少し微妙な問題であることがわかりました。
テンプレート ヘルパーの下で、'findClientLiason' が 2 回呼び出されます (出力はコンソールに 2 回記録されます)。ユーザーが最初に「未定義」として表示されるのは 2 回目で、正しいユーザー オブジェクトが期待どおりに表示されます。どちらの場合も、「clientLiason」は正しく出力されます。
私にとって最も興味深いのは、「var user = Meteor.users.findOne({_id: clientLiason});」を削除すると、呼び出して findOne 呼び出しを取得すると、ヘルパーは 1 回だけ呼び出されます。
Meteor.users コレクションへの呼び出しがデータベースへの別の呼び出しを強制するように私には見えます。そして、初めてそれを呼び出したとき、Meteor.users コレクションは空です。
以下に示す出版物と購読を持っています。Iron Router のグローバルな waitOn() 関数を使用していますが、Meteor.users コレクションを先にロードする必要があるかどうか疑問に思っていますか?
どんなアイデアでも大歓迎です。再度、感謝します。
出版物.js
router.js
clientItem.html
clientItem.js
javascript - Meteor で #each ブロックを使用して最後のアイテムの条件を実装するにはどうすればよいですか?
meteor アプリを 0.8.0 にアップグレードしましたが、ハンドルバーのカスタム ヘルパーが機能しなくなりました。ヘルパーを使用すると、最後の項目がリストに追加されたときの動作を変更できます。ハンドルバー ヘルパーを取得する方法を知っている人はいますか?再び作業するか、この機能を最新バージョンの流星で動作させる方法、ありがとう!
ヘルパー コード(元のリンク)
templates - Meteor Spacebars テンプレートを使用して HTML を動的にレンダリングするにはどうすればよいですか?
では、データベースにを保存<div>{{name}}</div>
しているとしましょう。<div>{{age}}</div>
次に、最初の HTML 文字列を取得してテンプレートにレンダリングします。これは、ハンドルバーを{{> template1}}
含む最初の文字列をレンダリングするだけです。{{name}}
次に、新しく生成されたテンプレート/html データを提供して、ハンドルバーにname
データベースからの実際のデータを入力できるようにして、 <div>John</div>
. やってみました
template1 が次のように定義されている場所
そして templateInfo は、ハンドルバーを含む前述の html 文字列をデータベースから返すヘルパーです。
dataGetter はまさにこれです(単なる例です。私は別の名前のコレクションを扱っています)
{{name}} を取得できません。いくつかの方法で試してみましたが、文字列内のハンドルバーをデータで評価する必要があることを Meteor が理解していないようです。私は 0.7.0 を使用しているため、Blaze はありません。使用している他のパッケージが原因で、現時点ではアップグレードできません。まだ 0.8 以降のバージョンをサポートしていません。これを機能させる方法についてのアイデアは大歓迎です。
meteor - Meteor Spacebars #each タグがコンテンツをレンダリングしないのはなぜですか?
以下の html の {{name}} は、"hello world" と言う必要があるときにページに何も挿入しません。{{name}} を削除して、「何とか何とか」のような単純なものを入れようとさえしました。ただし、ページにはテキストが表示されません。
私が得ている1つのエラーは次のとおりです: :1039:17: #each requires an argument (raffler.htmlのコンパイル)
raffler.html
ラフラーコーヒー
また、私はこのチュートリアルに取り組んでいます: http://railscasts.com/episodes/351-a-look-at-meteor
json - Meteor.http.call (URL API の呼び出し)
そのため、Meteor アプリケーションで聖書の一節 API を呼び出そうとしています。でテンプレートを作成し、テンプレートにname="display"
シンプルなものを使用{{checkitout}}
しました。
次に、テンプレートについて、対応するヘルパーで呼び出しを試みました。次のようになります (coffeescript では、Javascript の読者も同様に理解する必要があります)。
URL は聖書の一節の JSON ですが、問題は、Meteor.http.call
3 番目の引数である「コールバック」が必要なことです (これはクライアント フォルダーにあるため)。いくつかのドキュメントと例を読みましたが、それが何を意味するのかわかりません。
また、このように呼び出すと、結果は正確に JSON ファイルになりますか、それとも新しいハッシュ内に収まる必要がありますか? コールバックとはどういう意味ですか? 誰かが私に例を挙げてもらえますか?
meteor - Meteor - 2 つの異なるカーソルを比較するヘルパー
特定のカーソルと別のカーソルからのドキュメントのすべての反復との比較を返すテンプレート ヘルパーを使用しています。「内側」の値は、「都市」コレクション内に格納されます。
「Places」コレクション内の各ドキュメントに一意の「inside」値を格納すると、この問題が解決することはわかっていますが、各「City」内の 1 つの場所にしか「inside」することはできません。これはパフォーマンスの問題になります。
ヘルパー:
テンプレート:
City.inside が更新されるたびにセッション変数を「内部」値で更新するカーソルオブザーバーを実行することで解決できることはわかっていますが、より良い解決策があるかどうか知りたいです。