<script>
var ToDoItem = Backbone.Model.extend({
})
var toDoItem = new ToDoItem({
'title': 'task1',
'description': 'description1'
});
toDoItem.on('change',function(){
console.log('change trigger!');
})
</script>
<script>
var ToDoItem = Backbone.Model.extend({
})
var toDoItem = new ToDoItem({
'title': 'task1',
'description': 'description1'
});
toDoItem.on('change',function(){
console.log(this.changed);
})
</script>
<script>
var ToDoItem = Backbone.Model.extend({
})
var toDoItem = new ToDoItem({
'title': 'task1',
'description': 'description1'
});
toDoItem.on('change',function(){
if(this.hasChanged('description')){
console.log('description 已经发生了变化');
}else{
console.log('description 没有发生变化');
}
})
</script>
注:toDoItem.set('description','changedescription') 中的 set() 方法 会自动触发 trigger() 方法
on() 侦听事件 off() 取消侦听事件
once() 只会回调一次on() 侦听事件后再进行侦听事件的取消
这里的this指的是 toDoItem2
注: listenTo() 里面的this 指的是 侦听者 ; on() 里面的this 指的是 被侦听者