0

対応する変数Handlebars.JSに置き換えられていないため、かなりの問題があります。{{anything}}

次のヘルパー関数があります。

function compileTemplate(name){
return Handlebars.compile($('#'+name+'-template').html());
}

次のバックボーン ビューで使用します。

Soccer.Teams.Li = compileTemplate('team-li');

    Soccer.Router = Backbone.Router.extend({
        routes: {
            "": "index"
        },
        index: function(){
            Soccer.container.html(compileTemplate('main'));
            var teams = new Soccer.Teams.View();
            var container = Soccer.container.find('.sub-content');
            container.html(teams.render().$el.html());
            var teamsList = container.find('#teams-list');
            teams.teams.forEach(function(team){
                teamsList.append(Soccer.Teams.Li(team.toJSON()));
            }, this);
            Soccer.page.trigger('pagecreate');
        }
    });

そして#team-li-template、次のとおりです。

<script id="team-li-template" type="text/x-handlebars-template">
        <li team-id="{{id}}"><a>{{name}}</a></li>
    </script>

正しい情報が含まれている場合、正しい情報が確実に渡されますが、何も置き換えられず、タグは何も変換されませconsole.logん。.toJSON

何か案は?

ありがとう!

アップデート:

奇妙なことに、すべてのコードを JSFiddle にコピーしたところ、問題なく動作しました。

http://jsfiddle.net/vcrhh/1/

実際のアプリは 54.235.201.41 です (申し訳ありませんが、リンクとして追加できません)。

また、コードをファイルとしてローカルに保存して実行してみましたが、これも正常に機能します。

ユーザー名: mkremer90@gmail.com と両方のパスワード テスト。実際のアプリに何か問題がありますか? 私のアプリではなく、JSFiddle/local で機能するのはなぜですか?

4

1 に答える 1

1

ハンドルバーとバックボーンは正常に見え、フィドルが実行されるため、問題はテスト環境にあります。サーバー上のページ ソースを見ると、次のように表示されます。

<script id="team-li-template" type="text/x-handlebars-template">
    <li team-id=""><a></a></li>
</script>

中括弧が目立たないことに注意してください。サーバー側の何かがブレースを食べていると思います。あなたは Django を使用していると言うので、Django のテンプレートが問題を引き起こしている可能性があります。

于 2013-06-18T16:27:56.183 に答える