私は Backbone.js を使い始めて、特定のビューへのルーティングについて頭を悩ませようとしています。私HTML
には<a href="#project/1">
、プロジェクトのタスクのビューをレンダリングするためのタグがあります。
クエリ
リンクをクリックすると、タスクが にid
追加DOM
されますが、2 番目のリンクをクリックすると、そのタスクが前のリンクの下に追加されます。ビューのベストプラクティスがメソッド$.empty
を呼び出すかどうかわかりませんか?show
私のルーターのスニペット:
routes: {
'project/:id: 'showtasks'
},
showtasks: function(id) {
Event.trigger('tasks:show', id);
}
タスクのコレクションのスニペット
initialize: function() {
Event.on('tasks:show', this.show, this);
},
show: function() {
var task = this.collection.get(id);
var taskView = new App.Views.Task({ model: task });
this.$el.append(taskView.render().el);
}
コレクション
var tasks = new App.Collections.Tasks([
{
id: 1,
title: 'First Task',
content: 'Lots of Content...'
},
{
id: 2,
title: 'Second Task',
content: 'Lots of Content...'
},
{
id: 3,
title: 'Third Task',
content: 'Lots of Content...'
}
]);
var tasksView = new App.Views.Tasks({ collection: tasks });