Javascript 集合上的Backbone.js fetch()出现问题
仍在努力学习。目前,由于在我的主干集合上调用Javascript 集合上的Backbone.js fetch()出现问题,javascript,model-view-controller,backbone.js,Javascript,Model View Controller,Backbone.js,仍在努力学习。目前,由于在我的主干集合上调用.fetch()后发生了一些未知的、未报告的错误,我的视图根本无法呈现。因为这可以来自我的应用程序中的任何地方,所以我为您设置了一个查看所有文件的要点 视图中的注释应该解释正在发生的错误以及服务器的响应(只是Sinatra+Redis)。来自/schools的响应是[{“name”:“Foo”},{“name”:“Bar”}],但我不明白这会导致错误的原因。由于某种原因,我的视图从未初始化,即使我在路由器中创建了一个新窗口.fooView。有人能帮我
.fetch()
后发生了一些未知的、未报告的错误,我的视图根本无法呈现。因为这可以来自我的应用程序中的任何地方,所以我为您设置了一个查看所有文件的要点
视图中的注释应该解释正在发生的错误以及服务器的响应(只是Sinatra+Redis)。来自
/schools
的响应是[{“name”:“Foo”},{“name”:“Bar”}]
,但我不明白这会导致错误的原因。由于某种原因,我的视图从未初始化,即使我在路由器中创建了一个新窗口.fooView
。有人能帮我吗?谢谢 看起来您从未调用视图的render
方法。您应该在router.js第8行或index.jsinitialize
第12行末尾明确执行此操作。有些人喜欢在初始化
后自动渲染视图,但默认情况下,主干网希望您在任何时候都显式渲染视图。我认为您的schools.bind
将在后续更改中执行此操作,但在代码运行的方式中,您获取激发事件的schools,然后创建视图并对其进行绑定,因此在绑定视图时,不再激发事件,因此render
不会被调用。一个工作示例当然更容易调试,但通过阅读要点,这是我的猜测。看起来您从未调用视图的render
方法。您应该在router.js第8行或index.jsinitialize
第12行末尾明确执行此操作。有些人喜欢在初始化
后自动渲染视图,但默认情况下,主干网希望您在任何时候都显式渲染视图。我认为您的schools.bind
将在后续更改中执行此操作,但在代码运行的方式中,您获取激发事件的schools,然后创建视图并对其进行绑定,因此在绑定视图时,不再激发事件,因此render
不会被调用。一个工作示例当然更容易调试,但通过阅读要点,这是我的猜测。那么uu.bind('all',render)完全没有用了?我认为只要推断出视图对象,就会调用render方法(在本例中,在路由器的new window.fooView
)。正确的方法不是绑定它,而是直接从initialize调用它(而不是执行new window.fooView.render
)?不,它不是完全无用的。如果更改集合(如再次调用fetch或执行add/remove),它将呈现视图,但问题在于代码的运行顺序。因为fetch在绑定东西之前就被调用了,所以它会变为1。打电话给2。收集活动3。您绑定到收集事件,但糟糕的是它们已经触发了,所以不会立即发生任何事情。如果在创建视图对象后将fetch调用移动到router.jsindex
,那么它应该开始工作。或者第一次显式地调用render
。下面是一个很好的例子:注意他在initialize
方法末尾调用render
的方式。在调试器语句处停止并调用新窗口。学校给我一个类型错误,称为\u non\u callable
,考虑到我的藏品几乎是空的,这毫无意义。视图和这个错误之间有什么关系吗?那么u.bind('all',render)是完全无用的吗?我认为只要推断出视图对象,就会调用render方法(在本例中,在路由器的new window.fooView
)。正确的方法不是绑定它,而是直接从initialize调用它(而不是执行new window.fooView.render
)?不,它不是完全无用的。如果更改集合(如再次调用fetch或执行add/remove),它将呈现视图,但问题在于代码的运行顺序。因为fetch在绑定东西之前就被调用了,所以它会变为1。打电话给2。收集活动3。您绑定到收集事件,但糟糕的是它们已经触发了,所以不会立即发生任何事情。如果在创建视图对象后将fetch调用移动到router.jsindex
,那么它应该开始工作。或者第一次显式地调用render
。下面是一个很好的例子:注意他在initialize
方法末尾调用render
的方式。在调试器语句处停止并调用新窗口。学校给我一个类型错误,称为\u non\u callable
,考虑到我的藏品几乎是空的,这毫无意义。视图与此错误之间是否存在任何关系?