为什么我的主干集合重置事件没有触发
Why isn't my Backbone Collection reset event firing?
我浏览了Railscast教程并使其正常工作。制作一个快速原型以查看 Backbone 是否可行,但我搞砸了一些东西,我不确定我做错了什么。我在骨干 1 上。
视图
class Shsh.Views.AssetsIndex extends Backbone.View
template: JST['assets/index']
initalize: ->
@collection.on('reset', @render, this)
render: ->
$(@el).html(@template(assets: @collection))
console.log('rendered')
this
路由器
class Shsh.Routers.Assets extends Backbone.Router
routes:
'': 'index'
initialize: ->
@collection = new Shsh.Collections.Assets()
@collection.fetch({reset: true})
index: ->
view = new Shsh.Views.AssetsIndex(collection: @collection)
$('#container').html(view.render().el)
视图呈现正常,但@assets的长度恢复为 0。我可以在控制台中完成这些步骤,当我再次渲染视图时,它会恢复为正确的长度。我做错了什么?
编辑:
我实际上也有一个集合和模型。那里的代码都是由Backbone On Rails生成的样板。
您在路由器创建中过早地调用fetch()
。 应改为在特定路由代码中调用。 您实现它的方式,获取和重置可能会在触发路由之前完成,因此您将在触发路由后开始收听reset
我是个白痴。初始化在Shsh.Views.AssetsIndex中拼写错误。
相关文章:
- 为什么我的点击事件没有使用 react js 触发
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- 如何使用我的Jquery代码创建委托事件侦听器
- 为什么动态加载的事件在我的代码中不能正常工作
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 为什么我的on change事件在ie9上返回空
- 在我的JavaScript模块中绑定一个点击事件
- 如何在javascript中调用onclick事件?我没有'我不想在我的HTML页面中使用任何事件
- 鼠标事件,我的代码出了什么问题
- 我可以让我的网站的内容可编辑区域对安卓股票浏览器上的触摸事件更敏感吗
- 为什么我的onchange事件发生在页面加载时,而不是在触发时
- 为什么我的Jquery.ajax调用会触发错误事件
- 为什么点击或更改事件都没有触发我的函数
- 为什么我从 JSLint 获得从事件调用的函数的“超出范围”
- 将 OnClick 事件附加到我的标签 - JavaScript.亚德夫.
- 为什么IE浏览器不喜欢我的点击事件
- 为什么我的点击事件没有触发
- 我的链接按钮的OnClick事件永远不会被触发
- 将我的nextPage()函数编写为全局函数,以便onclick事件可以访问它
- 为什么我的javascript鼠标事件没有启动