問題タブ [handlebars.js]
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 - ハンドルバーテンプレートのIfブロック内でヘルパーを呼び出す
私はHandlebars.jsテンプレートエンジンを使用していて、次のようなことを行う方法を見つけようとしています(考案された例):
itemSelected
このような登録済みヘルパーはどこにありますか?
テンプレートにこの構文を使用しようとするとエラーが発生し、この種のことを示す例が見つかりません。私はこのような単純な#ifブロックを見ます...
しかし、最初の例に取り組む方法がわかりません。多分私はこれに間違って近づいています。
ちなみに、質問にハンドルバータグを追加できなかったので、この口ひげにタグを付けました。
javascript - ハンドルバーテンプレートがバックボーンからのJSONを処理できない
ハンドルバーは、コンテキストとして送信しているJSONオブジェクトを読み取ることができません。
Mustacheテンプレートを呼び出して、コンテキストを与える関数は次のとおりです。
これが私が渡しているJSONオブジェクトです:
ハンドルバーテンプレートは次のとおりです。
次のエラーが発生します。
javascript - Handlebar.jsがテンプレートを更新しない
わかった。私のHTMLは以下のようになります。
そして、Handlebar.jsを介して上記にデータを入力し、サーバーからデータを受信します。これがコードです。
コードを初めて実行するときは、問題ないように見えます。しかし、2回目(など)に$ .getを呼び出すと、テンプレートは新しいデータで更新されません。
また、データ文字列全体をで印刷して、データがサーバーから更新されていることを確認します。
Chromeをチェックすると、「Uncaught TypeError:Cannot call method'match'ofnull」と表示されます。
それは「コンパイル」と関係がありますか?
ruby-on-rails - ヘルパーからの Rails ビューの出力を変更する
私はレールヘルパーを持っています ( hs_if
, hs_else
):
...ハンドルバー テンプレートを生成します。
{{#if current_user}} ... {{else}} ... {{/if}}
にネストせずにレンダリングするにはどうすればよいhs_else
ですhs_if
か?
出力から削除する必要があると思います{{/if}}
が、ヘルパーで削除する方法が見つかりません。
javascript - ハンドルバー テンプレート レンダリング テンプレートをテキストとして
ロジックを支援するために Handlebars にヘルパーを作成しましたが、テンプレートは返された html を html ではなくテキストとして解析します。
クイズが完了した後にレンダリングされるクイズ結果ページがあります。
ラウンドごとにヘルパーを使用して、ラウンドの結果をレンダリングするテンプレートを決定します。
これは正しいラウンドを説明するテンプレートです (#round-end-correct テンプレートをレンダリングしたとしましょう):
レンダリングされるものは次のとおりです。
HTML ではなく、テキストとして。HTML をテキストではなく HTML として実際にレンダリングするにはどうすればよいですか?
javascript - Handlebars.jsは、前面の角かっこが好きではありません
PHPバックエンド、Backbone.js、Handlebars.jsを使用しています。私のjavascriptはデータを要求し、JSONデータは正常に返されます(json_encode)。
このJSONデータをハンドルバーテンプレートに渡すと、表示されません。JSONオブジェクトの前後にある角かっこがHandlebars.jsによって「嫌われ」ており、表示されていないことに気付きました。以下のコードを見てください。
さて、ブラケットを外せば問題なく動作します。どうしたの?そもそもなぜ角かっこがあるのですか?どうすればそれらを取り除くことができますか?
javascript - Handlebars.js を使用した Backbone.js に関する質問
Handelbars を使用した私の backbone.js アプリは、次のことを行います。
- モデル、そのコレクション、ビュー、およびルーターをセットアップします。
- 最初に、サーバーから記事のリストを取得し、Handlebars.js テンプレートを介してビューを使用してレンダリングします。
コードは以下です。
Handlebars.js テンプレートは
上記のコードは問題なく動作し、記事のタイトルを出力します。しかし、私の質問は
コンテキストを Handlebars.js テンプレートに渡すとき、私は現在やってい
$(this.el).html(template(js[0]))
ます。これは正しい方法ですか?js[0] の代わりに「js」だけを実行すると、JSON オブジェクトの先頭と末尾に角かっこが付きます。したがって、JSON オブジェクトの配列オブジェクトとして認識します。だから私はjs [0]をしなければなりませんでした。しかし、それは適切な解決策ではないように感じます。「ビュー」を最初に作成するときは、以下のように作成しています。
ws._index = new ArticleListView({model: ws._articles});
しかし、私の場合、私はすべきです
私はすべきではないですか?(私はところでチュートリアルに従っていました)。それともこれは問題ですか?両方試しましたが、あまり変わらないようでした。
前もって感謝します。
java - Javaでのhandlebars.js実装は存在しますか?
現在、クライアント側とサーバー側の両方でMustacheテンプレート(http://mustache.github.com/ )を使用しており、それぞれjavascriptとjava実装を使用しています。
ただし、Mustacheには、比較的新しいHandlebars.js(http://www.handlebarsjs.com/)が克服しようとするいくつかの制限があります。
しかし、私が見る限り、ハンドルバーにはまだjavascriptの実装しかありません。ハンドルバーの(実験的な)Java実装を知っている人はいますか?
events - バックボーンビューのイベントリスナーがDOMのオブジェクトに追加されていません
私は最初のBackboneアプリで苦労していて、物事のコツをつかみ始めました。サーバー(NodeJS)からJSONデータをロードし、テンプレート(Handlebars)にデータを入力し、フロントエンドで比較的適切にレンダリングする、いくつかの成功したレポートがあります。
私が遭遇している問題<select>
は、テンプレートの1つから入ってくるオブジェクトにイベントハンドラーを追加しようとしていて、あまり運がないということです。
テンプレートは次のとおりです。
そして、これがバックボーンビューです:
注:ビューを内部から呼び出している$ ->
ので、DocumentReady
ドロップダウンがクリックまたは変更されるたびに、selectStylist
関数が起動されることを期待しています。残念ながら、それはまだ発生していません:( Chrome Dev Toolsの要素も調べましたが、オブジェクトにイベントリスナーが設定されていません。
私はこれに何時間も立ち往生しており、バックボーンイベントリスナーに関する他のすべての提案を確認しました(つまりthis.el
、ビューをインスタンス化するときにパラメーターとして渡す)が、成功していません。
どんな助けやアイデアもいただければ幸いです!