問題タブ [express-handlebars]
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.
node.js - ハンドルバー ヘルパーが Express のグローバル変数で機能しない
ノード、エクスプレス、エクスプレスハンドルバーでアプリを実行しています。変数は、this oneres.locals
のような条件ヘルパー "ifCond"に割り当てられたクエリの結果です。レンダリングする必要があるコードは部分的です。問題は、変数を使用するとヘルパーが機能しないことです。
ヘルパーで動作しない原因は何ですか? ありがとうございました。
javascript - {{#each}} を使用して、(express-)handlebars テンプレートのヘルパーから文字列の配列を反復処理します
組み込みのヘルパー '{{#each}}'を使用して、ハンドルバー テンプレートの文字列の配列を反復処理しようとしています。しかし、うまくいきません。
簡単な例:
文字列の配列を返すカスタム ヘルパー関数:
ヘルパーにアクセスするテンプレート:
しかし、これは常にelseケースを出力します。ヘルパーに (#each なしで) 直接アクセスすると、期待どおりの結果になります。
#each には操作するオブジェクトが必要だとどこかで読んだことがあります。ドキュメントのヘルパーのコンテキストでこれについて何も見つけることができませんでしたが、いくつかの方法でオブジェクトに返される配列をラップしようとしました。しかし、私はそれを機能させることができませんでした。
では、handlebars テンプレート内の (ヘルパーから取得した) 文字列の配列に適切にアクセスするにはどうすればよいでしょうか?
javascript - 長さが不明な場合、ハンドルバーは特定のインデックスを持つ配列要素を返します
ハンドルバーとノードを使用すると、長さが変化する配列があり、変化するたびに最後の要素の前に常に 1 つ取得する必要があります。
したがって、最後の要素を取得したい場合は、次のようにします。
最後の要素が返されます。基本的な数学演算を実行できる数学ヘルパーがあります。たとえば、必要なインデックス番号を取得できます
ただし、別のブロックヘルパーでは使用できません。たとえば、次のようになります。
これはどのように行うことができますか?ありがとうございました。
javascript - クライアント側の HTML スクリプト タグ内で express-handlebars タグを使用することは可能ですか?
私はかなり長い間この問題に苦労してきました。エクスプレスハンドルバーを使用してアプリケーションを作成していますが、アプリケーションの大部分はうまく機能します。作成中の Web ページに表示したいデータのほとんどは適切に表示され、express-handlebars モジュールのヘルパー機能をうまく利用しています。
今、私が立ち往生している部分は次のとおりです。アプリケーションで使用する HTML テンプレートの 1 つで、タグを使用して、Google Maps JS API を使用して複数の場所を含む地図を表示しています。これらの場所は、このページに表示されている他のすべてのテンプレート データと同様に、MongoDB データベースから取得されます。ここでは、データはオブジェクトの配列としてクライアント側に送信されます。これを反復処理し、住所をフィルターで除外し、正しい形式にジオコーディングしてマップに表示します。ここでの問題は、この配列をページに問題なく取得できることですが、反復可能なオブジェクトとして内部に入ることができません。
この場所の配列をスクリプト タグ内で取得する方法はありますか?それらを繰り返し処理して、マップ ビュー内に表示できますか?