【问题标题】:Can't access model attributes from Backbone View无法从主干视图访问模型属性
【发布时间】:2014-04-16 14:22:40
【问题描述】:

我正在进入一个大型 Backbone.js 项目,所以我仍在了解我的方位。我的模板my-group-item.jhbs 有:

{{#if isComplete}}
.row-fluid
  .span2
    img.entity-image(src="/pictures/{{entityId}}.png")

  .span10
    .row-fluid
      .span12
        h3 {{entityName}}
        p My first variable {{totalFirst}} and my second variable {{totalValue}}

{{/if}}

我的View 是:

module.exports = class MyItemView extends View
  className: ->
    templateData = @getTemplateData()
    primaryData = @model.get('primaryData')
  tagName: 'li'
  template: require 'views/my-group-item'

  initialize: () ->
    super
    primaryData = @model.get('primaryData')

在我的模板中,totalFirsttotalValue 变量不显示任何内容。

我正在调用我的视图:

  @groupView = new MyItemView
    collection: groups
    el: '.group-list'

如何让这些显示在模板中?

【问题讨论】:

  • 您看到entityName 而不是其他人吗?你如何将模型传递给你的模板?这些属性是否在模型中定义?
  • 我确实看到了entityName,但没有看到其他人。我不确定模型中的属性是如何定义的。我该如何检查?
  • 啊-好吧。我看到我想要的字段是模型中primaryData 的孩子。那么如何访问模板中的孩子呢?
  • 你试过{{ primaryData.totalFirst }}吗?
  • 试过了。那是行不通的。我认为totalFirstprimaryData 中的一个属性。所以我必须使用.get(,这在模板上不起作用。

标签: backbone.js coffeescript handlebars.js pug


【解决方案1】:

您可以将多个变量传递给您的模板,第一个是您的模型,第二个是primaryData 的属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 2011-09-08
    • 2015-10-22
    • 2016-01-02
    • 2012-12-19
    • 1970-01-01
    • 2014-06-22
    相关资源
    最近更新 更多