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

backbone.js el: 'jqueySelector' doesn't catch parent element

本文关键字:元素 不会 el js backbone jqueySelector      更新时间:2023-09-26

我在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。有什么想法吗?

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

这就解释了为什么在没有el的情况下它可以工作,因为主干会在没有定义DOM元素的情况下创建DOM元素。