我正在尝试创建一个简单的待办事项列表(没有数据库 - 一切都在刷新时消失),当您单击完整按钮时,任务将获得通过。这有效,直到你添加另一个任务,然后罢工消失。有什么想法吗?
ToDoList.Views.TaskView = Backbone.View.extend({
initialize: function() {
this.listenTo(this.model, 'all', this.render);
},
tagName: 'li',
template: _.template($('#task-template').html()),
render: function() {
var that = this;
var renderedHTML = this.template({task: this.model.toJSON()});
this.$el.html(renderedHTML);
return this;
},
events: {
'click [data-action="delete"]': 'markAsComplete'
},
markAsComplete: function() {
this.$el.css('text-decoration', 'line-through');
}
});
模板只是一个名称和一个按钮,工作正常。谢谢!
答案 0 :(得分:0)
由于您只使用css来执行此操作,因此看起来很像
this.$el.css('text-decoration', 'line-through');
如果它再次渲染,渲染的渲染方法怎么会知道?
您需要更改任务的属性以将其标记为完成。并根据属性进行渲染。而不是仅仅随机添加CSS