0

所以我有一个视图,它将渲染一个包含图像的模板。此图像取决于传入的变量,位于assets/images中。

基本上,我怎样才能将此模型传递到模板中,以便它可以渲染正确的图像?

通常Rails我会在 RailsERB模板中做:

<img class="item-portrait" 
src="<%= image_path("items/" + item.name.gsub(" ", "-").downcase + ".png")
 %>">

如何在JST模板中实现相同的效果?

4

1 回答 1

0

假设您的模型如下所示:

var itemPortraitModel = new Backbone.Model({
  'path' : 'path_to_file'
});

您的观点与此类似:

var ItemPortraitView = Backbone.View.extend({
  template: JST['itemPortraitTemplate'],
  render: function() {
    this.$el.html(this.template(this.model.attributes));
    return this;
  }
});

然后在您的 itemPortraitTemplate 模板代码中,您的模型中的任何属性都将可用:

<img class="item-portrait" 
src="<% print(("items/" + path + ".png") %>">
于 2014-10-30T02:18:09.780 回答