我是Backbone上的新手,我试图点击工具栏上的一个按钮(位于工具栏div上),该按钮被称为“新建”。 点击后我想在id =“app-list”的另一个div上打开一个新面板。
但是当按下新按钮时,它总是覆盖“app-list”div
这是我的代码(我正在使用Backbone和coffeescript):
class MyApp.Views.ToolbarAppView extends Backbone.View
el: "#toolbar-app"
events: "click #add_new": "newApp"
newApp: (e) ->
myapp = new MyApp.Models.App
@model = myapp
newPanel = new MyApp.Views.NewAppView({ el: @$el, model: @model, parent: @})
newParent.render()
class MyApp.Views.NewAppView extends Backbone.View
template: JST["myapp", "new_app_view"]
render: ->
fieldsPanel = new MyApp.Views.EditAppView({ el: @$el, model: @model, parent: @})
fieldsPanel.setElement('#app-list').render()
class MyApp.Views.EditAppView extends Backbone.View
template: JST["myapp", "edit_app_view"]
tagName: "tr"
className: "edit_data"
render: ->
@$el.html(@template({ el: @$el, model: @model, parent: @})
答案 0 :(得分:0)
在不知道HTML结构的外观的情况下,推断可能出现的问题并不容易。但是,这两条线路上有一些有趣的东西:
fieldsPanel = new MyApp.Views.EditAppView({ el: @$el, model: @model, parent: @})
fieldsPanel.setElement('#app-list').render()
在构造函数中,您将视图的el
设置为ToolbarAppView
的{{1}},然后在以下行中将元素更改为另一个。
尝试使用以下内容替换这两行:
el
如果失败,请考虑使用更多信息编辑您的问题,尤其是关于HTML模板的相关部分。