私は最近、backbone.js の使用を開始しました。多くのチュートリアルを経て、ようやく頭を使い始めました。
私が立ち往生していることの1つは、ルーティングを使用して、リストが別の残りのリクエストをプルできるようにする方法です。
コレクションに次のものがあるとします
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);
誰か助けてくれませんか