AngularJS按照发布/订阅模式设计了其事件系统,使用时需要“发布”事件,并在适当的位置“订阅”或“退订”事件,就像邮箱里面大量的订阅邮件一样,当我们不需要时就可以将其退订了。具体到开发中,对应的就是$scope和$rootScope的$emit、$broadcast和$on方法。 0、发布 $broadcast和$emit用于发布事件,他们将事件名称和事件内容发布出去,就像是高考榜单一样,事件名称相当于考生的名字,而事件内容相当于考生的成绩等信息: $scope.$broadcast(eventName,args) $scope.$emit(eventNa...
js中控制函数执行1次或n次的方法
[ 2017/12/01, 6792阅, 0评 ]
在一些特定情况下,我们只需要让某个函数只执行1次或n次,比如循环或者定时执行等。 1.最简单的一种 var ifRun = true; var myFunction = function(){ if(ifRun){ console.log("i'm just do once"); ifRun = false; } } myFunction();//i'm just do once myFunction();//nothing myFunction();//nothing 2.使用apply()劫持一下再做次数判断 function just...
动态加载js文件以及判断js加载完成
[ 2017/12/01, 6298阅, 0评 ]
常用的动态加载js文件有以下几种方式: 1.直接document.write document.write("<script src='test.js'><\/script>"); 2.动态创建script元素 function loadJS(jsUrl) { var _doc = document.getElementsByTagName('head').item(0), script = document.createElement('script'); script.setAttribute('type',...
JavaScript的隐式转换和显式转换
[ 2017/11/30, 3153阅, 0评 ]
JavaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object。object是引用类型,其它的五种是基本类型或者是原始类型。我们可以用typeof方法打印来某个是属于哪个类型的。不同类型的变量比较要先转类型,叫做类型转换,类型转换也叫隐式转换。隐式转换通常发生在运算符加减乘除,等于,还有小于,大于等。 typeof '11' //"string" typeof(11) //"number" '11' < 4 //false 一、基本类型的转换 1.加减乘除 1.字符串加数,数...
angularJS去掉路由url里的#号
[ 2017/11/28, 4233阅, 1评 ]
AngularJS框架定义了自己的前端路由控制器,通过不同URL实现单面(ng-app)对视图(ng-view)的部署刷新,并支持HTML5的历史记录功能。默认状态下,是不启动HTML5模式的,此时URL中会包含一个#号,用来区别是AngularJS管理的路径还是WebServer管理的路径。 某些情况下,#号并不不太友好。比如美观度,还有有的地方不支持这种带#号的URL。下面记录下去掉#号的方法: 1.入口文件index.html中增加<base>标签 <!DOCTYPE html> <html> <head> <...
angularJS之$location服务
[ 2017/11/20, 3762阅, 0评 ]
The $location service parses the URL in the browser address bar (based on the window.location) and makes the URL available to your application. Changes to the URL in the address bar are reflected into $location service and changes to $location are reflected into the browser address bar. The $locati...
移动端手势库hammerJS
[ 2017/11/18, 3299阅, 0评 ]
hammerJS是一个优秀的、轻量级的触屏设备手势库,他可以完美的实现在移端开发的大多数事件,如:点击、滑动、拖动、多点触控等事件。不需要依赖任何其他的框架,并且整个框架非常小,使用也非常简单。 浏览器/终端的支持 无须担心你的浏览器或系统不在下方的列表上,Harmmer可以运行在除了IE8-的任何地方。浏览器若对触摸行为(touch-action)提供原生支持,那么对比那些不支持的浏览器,会有更好的体验。 相关文档资料 Hammer.JS官网 HammerJS.GitHub 移动端手势库hammerJ...
css常用水平或垂直居中方法总结
[ 2017/11/16, 3065阅, 0评 ]
1.margin:0 auto水平居中 具体来说就是把要居中的元素的margin-left和margin-right都设为auto,此方法只能进行水平的居中,且对浮动元素或绝对定位元素无效。 2.text-align:center水平居中 只能对图片,按钮,文字等行内元素(display为inline或inline-block等)进行水平居中。但要说明的是在IE6、7这两个浏览器中,它是能对任何元素进行水平居中的。 3.height和line-height让单行文字垂直居中 把文字的line-height设为文字父容器的高度,适用于只有一行文字的情况。 4....
单行文本溢出显示省略号 我是单行文本溢出显示省略号的效果咧 .test1{ /*示例css*/ background:#e5e5e5; width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } 多行文本溢出显示省略号-webkit-line-clamp -webkit-line-clamp是一个不规范的属性,它没有出现在 CSS 规范草案中。它用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他外来的WebKit属性。常见结合属性:...