1

我最近开始使用backbone.js,经过许多教程后,我终于开始摸索了。

我坚持的一件事是如何使用路由来允许列表提取不同的休息请求。

假设我的收藏中有以下内容

 var NewsCollection = Backbone.Collection.extend({  
          model : News,  
          url: 'http://api.example.com/index.php/news/all/format/json',  
        });

根据我的理解,如果我错了,请纠正我主干将从上述提要中提取的所有数据存储到扩展此集合的模型中,这一切都将起作用,我将拉入提要然后将其显示在视图中

这是我在路由中感到困惑的地方,我有以下内容。

var NewsRouter = Backbone.Router.extend({
            routes: {
                "": "defaultRoute",
                "news/:country_code":"updatedRoute"
            },

            defaultRoute: function () {
                console.log("defaultRoute");
                var movies = new NewsCollection()
                new NewsView({ collection: movies });
                movies.fetch();
                //setInterval(function(){movies.fetch({success: function(){}});}, 60000);
            },
            updatedRoute:function (country_code) {

                //confused
                    this.movie = this.movies.get(country_code);

            }

        })

我需要运行 updatedRoute 函数,它会显示基于国家代码猫的新闻列表,见下​​文。 http://api.example.com/index.php/news/country/gb/format/json

单击列表项时如何更新整个提要,以便浏览器 url。

http://localhost:8888/backbonetut/#news/gb

我的清单项目是。

<li><a href='#news/gb'>GB</a></li>

我可以在 updateRoute 函数中使用

this.movie = this.movies.get(country_code);

有人可以帮忙吗

4

1 回答 1

0

您可以覆盖集合上的功能,也可以在路由器操作中fetch临时更改集合的功能。url

于 2012-07-26T19:34:08.380 回答