0

複数ページのサイトでアンダースコアとバックボーンを使用しており、各ページにいくつかのアンダースコア テンプレートがあります。私のメイン ビュー (cshtml) では、このhttp://cl.ly/GpFTのような 1 つの JavaScript テンプレートをロードし、2 番目のビュー (cshtml) では同じスクリプト設定を使用しますが、JavaScript テンプレートが見つからないため、次のようなエラーが発生します。このhttp://cl.ly/Gnrc

スクリプトを縮小すると、スクリプトが中止されます。これを良い方法で解決することは可能ですか、それともすべてのページに必要なテンプレートとスクリプトを正確にロードする必要がありますか?

4

1 に答える 1

0

あなたはあなたの見解がどのように見えるかを私たちに教えてくれないので、私はあなたがこのようなことをしていると仮定します:

var V = Backbone.View.extend({
    template: _.template($('#some-id').html()),
    //...
});

そして、あなたがそれらをロードしているとき、あなたのビューはTypeErrorsを上げています。DOMに何もない場合#some-id、あなたは言うでしょう、そしてそれ_.templates(null)は意味がありません。代わりに、ビューのコンストラクターでテンプレートをコンパイルする簡単な方法は次のとおりです。

var V = Backbone.View.extend({
    initialize: function() {
        this.template = _.template($('#some-id').html());
        //...
    },
    //...
});
于 2012-05-22T21:16:25.703 に答える