使用angularjs,发现controller间的值传递,比较麻烦的,以后几篇文章会陆续说几种方法。
一,angularjs $broadcast $emit $on的处理思想
在一个controller里面通过事件触发一个方法,在方法里面通过$broadcast或$emit来定义一个变量,在父,子controller里面通过$on来获取。
使用angularjs,发现controller间的值传递,比较麻烦的,以后几篇文章会陆续说几种方法。
一,angularjs $broadcast $emit $on的处理思想
在一个controller里面通过事件触发一个方法,在方法里面通过$broadcast或$emit来定义一个变量,在父,子controller里面通过$on来获取。
angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种。要实现的功能是,在ng-app中定义的全局变量,在不同的ng-controller里都可以使用。
1,通过var 直接定义global variable,这根纯js是一样的。
2,用angularjs value来设置全局变量 。
3,用angularjs constant来设置全局变量 。
下面用一个例子,来说明,上面3种方法:
习惯了window.onload(),$(document).ready(),现在换成别的了,还真有点不习惯了。下面说一下常用的4种情况。
js代码都是顺序执行的,如果遇到异步执行,并且带有返回值,angularjs是怎么处理的呢?下面以实例详细说明一下$apply的功能。
用node启动server后,发现服务器不稳定,经常crash。我是用ssh远程登录的,ssh远程通道中断,或者Ctrl+C,都会使nodejs server崩溃掉。
nodejs和nginx共用80端口,原理也是反向代理。这根nodejs和apache共存是一样的。
以前写过一篇用apache反向代理来做负载均衡的文章,原理根这篇文章差不多。nodejs和apache共存,访问时都可以通过80端口,反向代理可以实现。
系统的学习了一下angularjs,发现angularjs的有些思想根php的模块smarty很像,例如数据绑定,filter。如果对smarty比较熟悉的话,学习angularjs会比较容易一点。这篇简单说一下angularjs的filter功能,angularjs的filter功能可分为二种,一种是内置的过滤器,一种是自定义的。
用e2e端到端的测试时,发现用expect(repeater('.phones li', 'Phone List').column('phone.images'))没法得到值,写了一个方法来获取
用npm安装phantomjs的时候,报以下错误:
events.js:72 throw er; // Unhandled 'error' event ^ Error: read ECONNRESET ..........省略............
网上说的原因有很多,经测试,是因为下载不到文件而报出的错误。如果能连网的话,很可能就是墙内,墙外的原因了。