2015-10-19 81 views
3

我已經設置了默認的模型布爾值,我想在Underscore模板中使用。當我在initialize方法中記錄模型時,我會看到默認值,但是當它嘗試渲染模板下劃線時,將返回錯誤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> 

小提琴:http://jsfiddle.net/kyllle/kw96kLdt/

+1

我懷疑這是因爲'delete'是一個保留字。你可以嘗試另一個屬性名稱? – joews

+0

啊,就是這樣!完全忘了! – styler

回答

2

delete是一個JavaScript reserved word,所以你不能使用它作爲一個identifi呃。更改屬性名稱,您的代碼將按預期工作。