問題タブ [mustache]
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 - 口ひげのテンプレートをキャッシュする方法は?
mustacheテンプレートをキャッシュしたい。
mustache次のように、テンプレートを直接含めることができることを知っています。
そして、次のように JavaScript でそれらを呼び出します。
これはテンプレートをキャッシュしません。私が理解できる唯一の方法は link タグの使用ですが、リクエストなしでテンプレートコンテンツを呼び出すにはどうすればよいですか?javascriptajax
これはうまくいきません(もちろん)...
HTML
Javascript
javascript - プリコンパイル スクリプトが付属する Javascript テンプレート エンジンは?
プリコンパイル スクリプト + ウォッチャーに同梱されている JavaScript テンプレート エンジンを探しています。どのように表示されますか:
- ファイルを典型的な html レイアウトとして記述し、たとえば .mustache タイプのファイルに保存します。
- コンソールでウォッチャーを実行すると、ファイルの変更が監視され、テンプレートが関数のように扱われる .js ファイルにコンパイルされます。この関数は、文字列の連結を実行し、変数の値を埋め込みます。
- このファイルは、アプリケーションで使用されます。
このメカニズムは、非 js タイプのファイルをロードする際のクロスドメインの問題を解決するだけでなく、パフォーマンス上の理由からそれらを 1 つのファイルに簡単にマージできるようにします。
私が行った調査によると、handlebars.js のみが将来この機能を出荷することを約束しています。他の誰かがこれを実装したかどうかを知りたいですか?
javascript - Mustache のストリーミング機能の使用例は何ですか?
口ひげのドキュメントから:
テンプレートの結果を mustache.js からストリーミングするには、オプションの send() コールバックを to_html() 呼び出しに渡すことができます。
たぶん、ドキュメントを理解できていないのは私です。便利な機能だと確信していますが、適切なユースケースが見つかりません。誰でも私を啓発してもらえますか?
ありがとう!
c# - Nustache でオブジェクトのコレクションをレンダリングするにはどうすればよいですか?
ASP.Net Web アプリのバックエンド コードとフロントエンド コードの間でレンダリング テンプレートを共有できるように、Nustacheを使用しようとしています。オブジェクトをテンプレートに渡すだけでは問題なく動作しますが、コレクションをレンダリングする方法がわかりません。したがって、次のようなテンプレートがある場合:
次に、オブジェクトのコレクションを渡し、th要素のセットを取得します。
私が試したこと:
WarningLevel、LimitLevelおよびのプロパティを持つクラスを作成し、TotalHoursにオブジェクトを追加して、Listそれを直接渡します。Nustache.Core.Render.FileToString(System.Web.HttpContext.Current.Server.MapPath("my.template"), ListOfObjects)- 匿名クラスを作成する以外は、同じことを行います。
Nustache.Core.Render.FileToString(System.Web.HttpContext.Current.Server.MapPath("my.template"), new { RenderItems = ListOfObjects}) - リストの代わりに
Dictionary、同じオブジェクトを含む を使用 - 辞書の辞書を使用する - 各項目自体が上記のプロパティを持つ辞書です
何かをレンダリングする唯一の方法は、匿名クラスを使用する場合ですが、名前付きのアイテムをテンプレートに入力することはできません。これは簡単だと思うので、ここでかなり明白な何かが欠けていると確信していますが、ドキュメントには「コードとテストを見てください」と書かれていますが、どのテストが実際にこのシナリオを扱っているのかわかりません。誰かが私を正しい方向に向けるか、サンプルコードを提供できますか?
javascript - Mustache.js + jQuery:最小限の作業例は何ですか?
HTML5アプリでjQueryでmustache.jsを使用したいのですが、すべてのコンポーネントを連携させることができません。すべてのファイルが見つかりました。ここでは問題はありません(テンプレートはロードされています。Firebugdebugguerでその値を確認できます)。
これが私のindex.htmlです:
これが私のapp.jsファイルです:
jquery.mustache.jsファイルは、https: //github.com/janl/mustache.jsから生成されたファイルです。
注意が表示されます。Firebugは私に教えてくれます
口ひげは定義されていません
キャプチャを参照してください:

何かが足りないことは知っていますが、何がわからないのです。
ありがとう。
編集:最小限の例に対する正解と完全な答えは次のとおりです:
- スクリプトにテンプレートを書き込み、ファイルからロードしないでください
- jsonデータのidem
- jQueryがどのように生成されるかを読み
$.mustache.to_html、(githubに記載されている)の代わりに関数を使用します( @ mikez302Mustache.to_htmlに感謝します) - リファクタリング'ドロップするまで
しかし、別のファイルからjsonを読み取るのは簡単です:
最後に、ファイルからテンプレートを読み取ることもできます。
実例(ロード順序の問題なし):
javascript - mustache.jsテンプレート関数のキャッシュは可能ですか?
私が見たほとんどのテンプレート エンジンは、コンテキストなしで JavaScript テンプレートを渡すと、JS 関数を返します。次に、その JS 関数を保存して、異なるコンテキストで同じテンプレートを作成するたびにテンプレート トークンを解析する必要を効果的に防ぐことができます。
ただし、mustache.js でこれを行う方法を見つけることができないようです。つまり、同じテンプレートを使用してレンダラーを呼び出すたびに、まったく同じトークン解析コードが実行され、毎回まったく同じ結果が得られます。唯一の違いはコンテキスト値です。
とにかく、コンパイル済みの JavaScript テンプレート関数を mustache.js から抽出する方法があるかどうか知っていますか?
javascript - 口ひげはトップレベルの配列を繰り返すことができますか?
私のオブジェクトは次のようになります。
そして、私は口ひげのテンプレートを使用して、次のようなものを作成したいと思います。
しかし、どのように?私は本当にそれを最初にこのようなものに変える必要がありますか?
ruby-on-rails - Rails、Backbone、Mustache での JSON の使用 - 形式が異なるようです
backbone.js と口ひげのテンプレートを使用して、Rails アプリを作成しようとしています。バックボーンに必要な JSON が Mustache に必要な JSON と互換性がないことがわかりました。(私はこのチュートリアルCloudedit -a backbone.js tutorial by exampleに従って始めましたが、彼が JST を使用している場所で Mustache を使用したいと考えています。
バックボーンには、ActiveRecord::Base.include_root_in_json = false を設定する必要があります。私のモデル (姓と名を持つ人) の場合、レールによって /people から送信されたデータは次のようになります。
私の口ひげのテンプレートは次のようになります。
口ひげのドキュメントから、見たいのは
JS コレクションを JSON に変換し、Mustache に送信することを編集しました。それをする必要はありません。Mustache.js は、JSON の文字列ではなく、js オブジェクトを想定しています。
Mustache.to_html にたどり着く頃には、モデルのバックボーン コレクションができています。モデルには属性firstnameとsurnameがあります。firebug では次のようになります。
ここにはいくつかの問題があるようです。1. コレクション名(人)の記載がない。少なくともテンプレートで {{#models}}..{{/models}} を使用することで、さまざまな方法でこれを回避できます。
- 属性は、Mustache.js の見た目よりも深く埋もれています。オブジェクト内の 'firstname' タグを見つけようとすると、object['firstname'] を探しますが見つかりませんが、object.attributes['firstname'] には正しい値があります。
ここで私はすべて混乱しているようです....それで、何が間違っているのですか?どうすれば修正できますか?
php - Mustache と Symfony を統合するには?
symfony1.4 のデフォルト テンプレートを Mustache に置き換えたいです。驚いたことに、Google 検索で関連するアプローチを見つけることができません。
それなら、簡単な方法でできると思います。
これは不器用に見えます。主な問題は次のとおりです。
口ひげのテンプレート (私の場合は「Hello {{planet}}」) をどこに保存しますか?
デフォルトのView Handlerを置き換えることは可能ですか? 口ひげのテンプレートをテンプレート フォルダーに配置して、アクションに対して透明にできるようにするには?
ありがとう