Javascript 对另一个模板中的图元引发单击事件
我创建了一个保存和显示模型的视图。有这样的事情,Javascript 对另一个模板中的图元引发单击事件,javascript,jquery,ruby-on-rails,backbone.js,Javascript,Jquery,Ruby On Rails,Backbone.js,我创建了一个保存和显示模型的视图。有这样的事情, events: -> "click li": "addEntry" "click .remove": "destroyEntry" addEntry: (e) -> movie_title = $(e.target).text() @collection.create title: movie_title appendEntry: (entry) -> view = new Movieseat.V
events: ->
"click li": "addEntry"
"click .remove": "destroyEntry"
addEntry: (e) ->
movie_title = $(e.target).text()
@collection.create title: movie_title
appendEntry: (entry) ->
view = new Movieseat.Views.Entry(model: entry)
$('#entries').append(view.render().el)
destroyEntry: (e) ->
thisid = @$(e.currentTarget).closest('div').data('id')
@collection.get(thisid).destroy()
现在,如果我在模板中放置一个li元素并单击它,addEntry
事件将触发并将模型保存到Rails数据库中。此外,mydestroyEntry
事件可用于删除模型。当模型被添加到集合中时,appendEntry
函数被触发
但是我使用不同的视图来显示列表中的电影集合。现在,我想将“单击li”事件连接到其他模板上的li。这可能吗?如果是,如何使用?在其他视图中,可以使用相同的数据源。在这种情况下,它是电影的集合。由于它是主干,并且视图实际上只是数据模型的表示,所以使用数据来渲染或触发视图中的更改 在另一个视图中,观察正在操纵的集合上的更改。当您真正关心的只是数据的更改时,无需委派事件
OtherView = Backbone.View.extend
initialize: (params) ->
# this could also be the model, I'm not sure how you have this configured
@listenTo params.movieseats, "change", @updateMovies
updateMovies: ->
# manage the view here
有道理,但我如何引用其他集合?如果我使用
addEntry:(e)->movie\u title=$(e.target).text()@collection.create title:movie_title
在我的另一个视图中,代码选择了错误的集合,从而导致错误选项http://api.themoviedb.org/3/search/movie?api_key=a8f7039633f2065942cd8a28d7cadad4&query=star 无法加载XMLHttpRequesthttp://api.themoviedb.org/3/search/movie?api_key=a8f7039633f2065942cd8a28d7cadad4&query=star. 无效的HTTP状态代码404