4

私は現在、Mustache PHPで使用する予定の PHP サイトを開発しているため、PHP レンダリングと JavaScript (ajax 駆動) ページの更新で同じ口ひげテンプレート ファイルを使用できます。を検索した後、PHP 用の handlebars.js に相当するライブラリを見つけることができませんでしたが、すべてにハンドルバーを使用することを好みます。

Ember.js と Backbone.js のどちらを使用するかを検討中です。Ember はハンドルバーを使用し、ハンドルバーはベースとなっている mustache.js にはない構文と機能を使用することを知っています。また、handlebars.js が口ひげテンプレートで問題なく動作することも理解しています。

私は Ember に傾倒しており、必要に応じて、Handlebars.js で動作するように Mustache PHP をフォークして更新するつもりです。

しかし、まず第一に、Ember.js はまっすぐな口ひげのテンプレートでうまく機能しますか? それとも、Ember を適切に活用するということは、ハンドルバーのみがサポートするテンプレート機能を使用することを意味するのでしょうか?

PHP ライブラリをフォークする必要がある場合、最初に追加したい主なハンドルバー機能は何ですか?

事前に感謝します。これは、Ember.js を使用する価値があるかどうかを判断するのに本当に役立ちます。

4

2 に答える 2

1

Handlebar.js は、Mustache(.php/.js) 構文にいくつかの「ヘルパー」を追加します... しかし、Mustache はこれをすでに非常にうまく行っているため、これらはまったく役に立ちません:

{{#each xyz}}...{{/each}} is the same as {{#xyz}}...{{/xyz}} in Mustache.
{{#if xyz}}...{{/if}}     is the same as {{#xyz}}...{{/xyz}} in Mustache.
{{#with xyz}}...{{/with}} is the same as {{#xyz}}...{{/xyz}} in Mustache.

対照的に:

{{#unless xyz}}...{{/unless}} is the same as {{^xyz}}...{{/xyz}} in Mustache.

Ember.js は handlebar.js と非常によく似ていますが、Backbone.js はロジックに依存しない Mustache-Kind-of-rendering の出力に多くのロジックを追加しているようです。

小規模および大規模なサイトで Mustache(php) を使用しています。Ajax 呼び出しにより、Mustache が html の一部を埋め、jQuery がいくつかの dom 要素を結果に置き換えます。それは魅力のように機能しています。

私へ: Mustache にロジックを追加しないでください。Handlebar.js からロジックを削除してください (これらの「ヘルパー」がなくても機能すると思います)。

于 2012-10-08T20:51:00.837 に答える