【发布时间】:2013-04-23 00:56:28
【问题描述】:
我在使用带有 MarionetteJS 的 CompositeView 加载元信息时遇到了这种意外行为。来自服务器端的 JSON 如下所示:
{ “元”:{ “总数”:2 }, “电影”: [ { “类别”:“动作”, "description": "另一个故事……", “身份证”:1, “星星”:“4.0”, "title": "我的测试电影" }, { “类别”:“动作”, "description": "故事发生了......", “身份证”:2, “星星”:空, “标题”:“我的第二部电影” } ] }我使用 Backbone 集合来设置元信息,例如:
MA.Collections.Movies = Backbone.Collection.extend({ url: '/api/movies.json', 解析:函数(数据){ this.meta = new MA.Models.MetaMovie(data.meta); 返回 data.movies; } }); MA.addInitializer(函数() { MA.Collections.Movies.model = MA.Models.Movie; })但是当我尝试从 CompositeView 访问这个元变量时,集合已正确初始化,而元信息似乎丢失了。任何想法如何将这些元信息提供给 CompositeView 的模型?
PS 控制台输出如下:
【问题讨论】:
-
您只在解析函数中返回 data.movies。
-
正确。我正在尝试这里建议的方法:stackoverflow.com/questions/5711245/…
-
如果您发布用于创建您的集合和视图实例的路由器/控制器的代码,我将向您展示一种完成您正在尝试做的事情的清晰方法。
-
谢谢!我在这里有应用程序:github.com/mulderp/moviedb/blob/master/app/assets/javascripts/… -> 然后是 /views/composites 和元视图