問題タブ [handlebarshelper]
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.
javascript - {{#each}} を使用して、(express-)handlebars テンプレートのヘルパーから文字列の配列を反復処理します
組み込みのヘルパー '{{#each}}'を使用して、ハンドルバー テンプレートの文字列の配列を反復処理しようとしています。しかし、うまくいきません。
簡単な例:
文字列の配列を返すカスタム ヘルパー関数:
ヘルパーにアクセスするテンプレート:
しかし、これは常にelseケースを出力します。ヘルパーに (#each なしで) 直接アクセスすると、期待どおりの結果になります。
#each には操作するオブジェクトが必要だとどこかで読んだことがあります。ドキュメントのヘルパーのコンテキストでこれについて何も見つけることができませんでしたが、いくつかの方法でオブジェクトに返される配列をラップしようとしました。しかし、私はそれを機能させることができませんでした。
では、handlebars テンプレート内の (ヘルパーから取得した) 文字列の配列に適切にアクセスするにはどうすればよいでしょうか?
javascript - 各ループでのオブジェクト プロパティ値の表示
sem
複数のオブジェクトを含む配列と、result
プロパティhref
をcontent
含み文字列を含むオブジェクトがあります。それらは次のようにビューにレンダリングされています。
ここではasync
、2 つの異なる変数をビューに渡すことができるように、関数を並列に実行するために使用しています。参照
app.js
配列sem
には以下が含まれます。
オブジェクトresult
には次が含まれます。
目標
学期中.handlebars
result
上記を実行しましたが、 ie href
&のプロパティがループcontent
して表示されません。each
出力は次のようにする必要があります。
EDIT: (URLには、配列semからレンダリングされるハンドルバー式が含まれています)
例:/marks/edit_marks/semester_number={{semNumber}}/{{id}}