【发布时间】:2015-02-17 14:08:12
【问题描述】:
- 我有一个显示主干对象集合的表格。
- 我希望能够单击对象的表格行,然后在下面的一系列表格行中显示其子项。
- 孩子们将在我通过调用 RESTful 端点获得的集合中
- 对于该集合中的每个对象,我打算创建一个行视图对象
- 然后我想将父对象的行 ID 传递给一个 jquery 选择器,并在父对象的行之后插入视图
这可能吗?我习惯于将视图绑定到特定的 DOM 元素,而不是使用 JQuery 选择器随意插入它。我该怎么做?
这是我的尝试:
(在子行视图上创建和调用渲染的父主干视图(id为23的对象应在22以下渲染)
unfold: (e) ->
@single_seg = @segments.get("23")
row = new RP.Views.AudienceRow(
el: this.$("#22").after(row),
dmp_segment: @single_seg
)
console.log "row view created"
row.render()
这是行视图中的代码:
RP.Views.AudienceRow = Backbone.View.extend
template: JST["dmp/AudienceRow"]
initialize: ->
@segment = @options.segment
render: ->
console.log "render function working"
this.$el.html( @template() )
this
现在,它还不能很好地工作,因为它替换了现有的父行。我认为这是因为我的 Jquery 选择器没有正确指定? (在coffeescript中执行以下操作,对不起,如果这会让人们失望)
【问题讨论】:
-
我也尝试过使用 insertAfter 而不是“after”,当我这样做时,什么也没有发生 - 父行没有被覆盖,但我也看不到任何地方的子行。
-
并不是说此评论会帮助您解决当前的问题,而是一个非常流行且稳定的 Backbone 框架,称为 Backbone.Marionette,以一种非常可扩展的方式使您的问题变得非常容易解决。 Http://marionettejs.org
标签: jquery backbone.js coffeescript