在我的模板中,我必须使用this.name和this.gravatar来访问我的用户模型数据属性。 如果我不这样做,我会在模板尝试渲染时收到错误消息。一切正常,但我没有看到他们提出这个问题的任何例子。在模板中。
My Backbone View:
Class MyApp.Views.Header extends Backbone.View
template: JST['header']
initialize: =>
@model.on("change reset add", @render)
render: =>
@$el.html(@template (@model.attributes) )
this
我的标题模板:
<span id= "headerRight">
<span>
<a href="/classroom/help">Help</a>
</span>
<span> <img id="headerGravatar" src="<%= this.gravatar %>"></span>
<span> <%= this.name %> </span>
<span>
<a class="logout" href='/signout'>Sign Out</a>
</span>
</span>
我如何生成我的观点:
headerView = new UCBCloudClassroom.Views.Header( model: @user)
$('#header').html(headerView.render().el)
答案 0 :(得分:1)
Backbone需要下划线,因此您看到的大部分示例都将使用具有&lt;%= property%&gt;的下划线模板。语法。
Eco模板使用&lt;%= @property%&gt;显示模型属性的语法link:
由于&lt;%= @property%&gt;相当于&lt;%= this.property%&gt;一切都按预期工作。