Underscore.jsでBackbone.jsを学習しようとしていますが、問題が発生しました。サーバーフレームワークとしてGrailsを使用しているため、Underscore.js構文<%=%>は使用できません。{{}}スタイルに変更したい。私のJavascriptは多くのファイルに分かれており、それぞれが必要なすべてのオブジェクトのビューまたはモデルを表しています。これが私のビューのコードです:
$(function () {
_.templateSettings = {
interpolate : /\{\{(.+?)\}\}/g,
evaluate : /\{!(.+?)!\}/g
};
APP = window.APP || {};
APP.PlaceView = Backbone.View.extend({
initialize:function () {
this.render();
},
el:"#place-form",
formTemplate:_.template($('#search-template').html()),
render:function () {
//Pass variables in using Underscore.js Template
var variables = { street:"Ulica" };
this.$el.html(this.formTemplate({ "street":"Ulica" }));
}
});
var view = new APP.PlaceView();
});
そしてテンプレート:
<script type="text/template" id="search-template">
<!-- Access template variables with {{ }} -->
<label>{{ street }}</label>
<input type="text" id="search_input"/>
<input type="button" id="search_button" value="Search"/>
</script>
このコードは、Uncaught SyntaxError:Unexpected token)エラーをスローします。しかし、_。templateSettings部分を削除すると、すべて問題ありませんが、変数がありません。
どうもありがとう。