5

(この質問はこれに関連しています

ember.jsコードで拡張したいweb2pyアプリケーションがあります。web2py と ember.js のテンプレート システムの区切り文字が競合します (どちらも{{}}です)。私のアプリケーションには ember.js のレガシーがないため、別の区切り文字を使用して ember.js コードを記述したいと考えています。これは可能ですか?

4

3 に答える 3

4

ember.js が使用するテンプレート エンジンは Handlebars.js であり、区切り文字を変更することはできないと思います。私は他の質問を見てきました.おそらく他の答えはここにあります: DjangoテンプレートのHandlebars.js

于 2012-08-26T22:58:33.510 に答える
3

web2py の場合: response.delimiters = ('[[',']]')

于 2012-08-27T19:46:46.203 に答える
1

(web2py 上またはハンドルバー内の) 区切り文字を変更したくない場合は、例えば web2py /static/ フォルダー内のpeople.hbsのような外部ファイルにハンドルバー テンプレートを保存することで実行できます。

{{#each people}}
<div class="person">
    <h2>{{first_name}} {{last_name}}</h2>
</div>
{{/each}}

ビューでは、 jQuery load() functionを使用してそのファイルをインポートします。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="https://raw.github.com/wycats/handlebars.js/master/dist/handlebars.js"></script>    

<div id="list"></div>
<script id="people-template" type="text/x-handlebars-template"></script>

<script type="text/javascript">
$('#people-template').load('/static/people.hbs', function() {
    var template = Handlebars.compile($("#people-template").html());
    var data = {
        people: [
            { first_name: "Alan", last_name: "Johnson" },
            { first_name: "Allison", last_name: "House" },
        ]
    };
    $('#list').html(template(data));
});
</script>
于 2013-02-04T22:35:31.300 に答える