无法在 Underscore 模板中呈现 Backbone 模型默认属性
Unable to render Backbone Model default attribute in Underscore template
我已经设置了我想在 Underscore
模板中使用的默认模型布尔值。当我在我的 initialize
方法中注销模型时,我看到了默认值,但是当它尝试渲染模板下划线 returns 时出现错误 Uncaught SyntaxError: Unexpected token )
。谁能告诉我这可能哪里出错了?
JS
var PersonModel = Backbone.Model.extend({
defaults: {
'delete': false
}
});
var PersonView = Backbone.View.extend({
template: _.template( $('.js-template').html() ),
initialize: function() {
console.log(this.model.toJSON());
},
render: function() {
this.$el.html( this.template( this.model.toJSON() ) );
return this;
}
});
// Setup
var personModel = new PersonModel(data, {parse:true});
var personView = new PersonView({
model: personModel
});
// Add to DOM
$('.js-ctn').html(personView.render().el);
模板
<script type="text/template" class="js-template">
<h1>Hey, <%= name %></h1>
<p><%= delete %></p>
<button class="js-reset">Reset</button>
</script>
delete
是一个 JavaScript reserved word,所以你不能用它作为标识符。更改属性名称,您的代码将按预期工作。
我已经设置了我想在 Underscore
模板中使用的默认模型布尔值。当我在我的 initialize
方法中注销模型时,我看到了默认值,但是当它尝试渲染模板下划线 returns 时出现错误 Uncaught SyntaxError: Unexpected token )
。谁能告诉我这可能哪里出错了?
JS
var PersonModel = Backbone.Model.extend({
defaults: {
'delete': false
}
});
var PersonView = Backbone.View.extend({
template: _.template( $('.js-template').html() ),
initialize: function() {
console.log(this.model.toJSON());
},
render: function() {
this.$el.html( this.template( this.model.toJSON() ) );
return this;
}
});
// Setup
var personModel = new PersonModel(data, {parse:true});
var personView = new PersonView({
model: personModel
});
// Add to DOM
$('.js-ctn').html(personView.render().el);
模板
<script type="text/template" class="js-template">
<h1>Hey, <%= name %></h1>
<p><%= delete %></p>
<button class="js-reset">Reset</button>
</script>
delete
是一个 JavaScript reserved word,所以你不能用它作为标识符。更改属性名称,您的代码将按预期工作。