backbone.js el:'jqueySelector'不捕获父元素

时间:2013-12-13 22:04:44

标签: javascript jquery backbone.js marionette

我在Marionette ItemView定义中有以下代码:

class AdProductDetailsView extends Marionette.ItemView

  el: '#product-details'
  template: =>
     price =
        amount: if @model.get('price') then @model.get('price').get('amount') else 0
        currency: if @model.get('price') then @model.get('price').get('currency') else 'BOB'
     AdProductDetailsTemplate
        price: Currency.format price.amount, price.currency
        contact: @model.get('contact')?.toJSON()
        location: @model.get('location')?.toJSON()

问题是该页面没有“执行”el:'#product-details'属性。我以前试过把它放在另一个代码的视图实例中,但是我尝试了它并且它没有用。当我运行此代码时,屏幕上没有任何内容,但是,如果我在没有el:...的情况下运行它,视图就会被创建并插入到它自己的div中,而这就是我不想要的div。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

可能是竞争条件,因为您要将此视图分配给#product-details,所以在实例化该视图之前,它需要存在于DOM中。

这可以解释为什么没有el它可以工作,因为如果没有定义,骨干会创建一个DOM元素。