我有一个图像列表,每个图像都有一个“Like”按钮。点击“Like”按钮时,AJAX请求(包含item_id
和user_id
)将被发送到服务器端以记录Like(通过在和user_id
的值中添加likes
表中的新行)。
模型Photo
用于显示在页面上的图像。如果我理解正确,如果我想更新/添加新的Photo
,则使用this.model.save()
,因此不适合录制“喜欢”。因此,我必须使用类似$.get()
或$.post()
。这是传统的方式吗?
或者我会创建一个名为Like
的新模型,如下所示,这似乎使得只有Like按钮才具有View和模板会变得更加复杂。
Like = Backbone.Model.extend({
url: 'likes'
});
LikeView = Backbone.View.extend({
template: _.template($('#tpl-like').html()),
events: {
'click .btn_like': 'like'
},
like: function() {
this.model.save({
user_id: 1234,
post_id: 10000
})
}
});