Backbone的 listenTo 和 on
使用情景区别
listenTo用于监听自身意外的对象
on用于监听自身
listenTo和on中的回调函数里的this的区别
listener.listenTo(object, 'eventName', function(){
//此处的this指向listener
})
object.on('eventName', function(){
//此处的this指向object
})
object.on('eventName', function(){
//此处的this指向context
}, context)
触发顺序
当存在同名事件时,会按定义顺序执行,on和listenTo定义的事件会处在同一队列中
若监听了all事件,则触发任意事件都将会在执行完相应回调后执行all事件的回调, all事件的监听会传递一个参数,该参数为事件名字
demo
var a = {type: "I'm listening"}, b = {type: "I'm listened"};
_.extend(a, Backbone.Events);
_.extend(b, Backbone.Events);
b.on('onNoContext', function(){
console.log('trigger onNoContext');
console.log(this.type);
});
b.on('onContext', function(){
console.log('trigger onContext');
console.log(this.type);
}, a);
a.listenTo(b, 'listened', function(){
console.log('trigger listened');
console.log(this.type);
});
b.on('all', function(){
console.log('trigger on all');
});
a.listenTo(b,'all', function(){
console.log('trigger listen all');
});
console.log('###b.trigger("all")###');
b.trigger('all');
console.log('###b.trigger("onNoContext")###');
b.trigger('onNoContext');
console.log('###b.trigger("onContext")###');
b.trigger('onContext');
console.log('###b.trigger("listened")###');
b.trigger('listened');
运行结果:
1 ###b.trigger("all")###
2 trigger on all
3 trigger listen all
4 trigger on all
5 trigger listen all
6 ###b.trigger("onNoContext")###
7 trigger onNoContext
8 I'm listened
9 trigger on all
10 trigger listen all
11 ###b.trigger("onContext")###
12 trigger onContext
13 I'm listening
14 trigger on all
15 trigger listen all
16 ###b.trigger("listened")###
17 trigger listened
18 I'm listening
19 trigger on all
20 trigger listen all
Backbone的 listenTo 和 on的更多相关文章
- Backbone事件模块及其用法
事件模块Backbone.Events在Backbone中占有十分重要的位置,其他模块Model,Collection,View所有事件模块都依赖它.通过继承Events的方法来实现事件的管理,可以说 ...
- 【转】Backbone使用总结
转自 http://www.pchou.info/javascript/2014/06/26/backbone-summary-01.html 开始在项目中大规模使用backbone,一路磕磕碰碰, ...
- Backbone学习记录(1)
去年买的<基于MVC的javascript Web富应用开发>,拖到现在还没看完,作者介绍了三个MVC框架,Spine ,backbone和javascriptMVC.1和2在国内的流行度 ...
- listenTo - backbone.js
listenToobject.listenTo(other, event, callback) 让 object 监听 另一个(other)对象上的一个特定事件.不使用other.on(event, ...
- 我对Backbone.js的一些认识
backbone.js已经不是当前最流行的前端框架了,但是对于我而言,依然具有比较好的学习价值.虽然目前来说,react,vue等mvvm框架非常火热,但是感觉自身还不到去使用这种框架的层次.这些技术 ...
- backbone学习总结(二)
今天来看下backbone的路由控制的功能.其实个人感觉backbone,模块就那么几个,熟悉它的框架结构,以及组成,就差不多. 废话不多说,我们来看看还剩下的功能. 关于路由和历史管理 通过 Bac ...
- Backbone 学习笔记
Backbone 是一款基于模型-视图-控制器 MVC 模式的轻量级javascript 框架 ,可以用来帮助开发人员创建单页Web应用. 借助Backbone 我们可以使用REST的方式来最小化客户 ...
- Backbone源码阅读手记
Backbone.js是前端的MVC框架,它通过提供模型Models.集合Collection.视图Veiew赋予了Web应用程序分层结构.从源码中可以知道,Backbone主要分了以下几个模块: ( ...
- TodoMVC中的Backbone+MarionetteJS+RequireJS例子源码分析之三 Views
这个版本的TodoMVC中的视图组织划分比较细,更加易于理解,这也得益于Marionette为我们带来了丰富的视图选择,原生的backbone只有views,而Marionette则有itemview ...
随机推荐
- 编译的时候 c:\windows\assembly\ 卸载不掉
easyhook 开始还可以调试,几次过后 其自己去找c:\windows\assembly\ 下的包,编译多少次都不行. c:\windows\assembly\ 卸载不掉 cmd cd \win ...
- Unix和Linux下C语言学习指南
转自:http://www.linuxdiyf.com/viewarticle.php?id=174074 Unix和Linux下C语言学习指南 引言 尽管 C 语言问世已近 30 年,但它的魅力仍未 ...
- STL之优先队列(priority_queue)
转自网上大牛博客,原文地址:http://www.cnblogs.com/summerRQ/articles/2470130.html 先回顾队列的定义:队列(queue)维护了一组对象,进入队列的对 ...
- 『安全工具』Nessus多功能扫描器
0x 00 前言 写这篇博客,证明我还活着…… 0x 01 安装Nessus 直接官网 www.tenable.com/products/nessus/select-your-operating- ...
- android-support-v7-appcompat下载
http://download.csdn.net/detail/u010556601/7449661 将压缩包解压,放入sdk\extras\android\support\v7目录下 在eclips ...
- ulimit小结
1. limits是一个进程的资源,会被子进程继承 2. soft limit -S, hard limits -H hard limits只能被root用户修改,启动的时候会加载配置/etc/s ...
- System.Drawing.Image.Save(Savepath),保存为jpg格式,参数错误,文件0kb解决办法
问题场景:asp.net给图片添加文字水印保存为jpg格式时出现标题所描述错误(图片为.jpg格式): 简单验证:用本机的画图程序打开,然后保存为jpg格式会出现警告框"画图程序不能存储该文 ...
- MKMapView and Zoom Levels: A Visual Guide
原帖:http://troybrant.net/blog/2010/01/mkmapview-and-zoom-levels-a-visual-guide/ So, how exactly does ...
- Mitsubish FX 3U PLC 串口 连接单元
前段时间遇到一个Mitsubish FX 3U PLC ,现将PLC连接单元分享一下,希望对其他人有所启示. unit PLC_MitsubishiFX; interface uses Windows ...
- (转)三星i9500/Galaxy S4 刷基带教程
一.手机基带是什么? 三星手机的基带用通俗的话来说就是手机中的一个负责信号调节并进行传输给系统的电路设置,基带的好坏直接影响到在同等信号强度下,手机的获取信号的能力. 二.为什么要刷基带? 常说的基带 ...