这可能吗?我习惯将视图绑定到特定的DOM元素,而不是随意插入JQuery选择器。我该怎么办?
这是我的尝试:
(在子行视图上创建并调用render的父骨干视图(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中执行以下操作,如果将人员抛弃则抱歉)
答案 0 :(得分:0)
免责声明 - 这不是一个很好的方式,但它确实有效。我必须创建一个隐藏表,最初,将新视图绑定到隐藏表,然后使用JQuery选择器将其移动到正确的位置:
unfold: (e) ->
@single_seg = @segments.get("24")
row = new RP.Views.AudienceRow(
el: this.$("#test"),
dmp_segment: @single_seg)
console.log "row view created"
row.render()
this.$("#test").insertAfter("#5490690d4d6963d7420c0000")
<table id="hide-me">
<tbody id="test">
</tbody>
</table>