之前是写angularJS的,现在转到Vue,一开始傻傻滴以为它也自带了http服务,然而并非如此。 在Vue1.0的时候有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource。 权衡利弊之后最终选择了axios,毕竟辣么哆人在用它,也能满足项目需求。下面记录一些使用过程中遇到的问题。 官方源码及文档:https://github.com/axios/axios 这里还有个不错的中文“说明书”:vue2.0项目实战(3)使用axios发送请求 具体使用方法以及拦截器...
那些不常用却又很实用的CSS
[ 2018/02/02, 2342阅, 0评 ]
1.伪元素first-letter设置首字样式 /*首字下沉示例*/ p::first-letter{float:left;font-size:3em;line-height:1;color:#f00} 2.伪元素first-line设置段落第一行样式 p::first-line{color:#f00;font-weight:bold} 3.:nth-child(odd/even)选中奇偶行 当然也可以使用:nth-child(2n-1)和:nth-child(2n)实现 4.:not排除选择器 /*除开type为password之外的input...
1.html中直接写(不建议) <script type="text/javascript"> angular.element(window).bind('load', function() { alert('1'); }); alert('2'); </script> 2.在controller里面利用$on或者$watch (function(){"use strict"; angular.module('myApp') .controller('testSth', ['$scope', f...
angular.element()将DOM元素或者HTML字符串封装为一个jQuery元素。 格式:angular.element(element);(括号中的element为包装成jquery对象的html字符串或者dom元素) $document和angular.element(document)是一样的,是一个整体的dom结构树,包含jqlite的所有方法,另外$document[0]和原生JS的document等效(使用时不要忘记注入$document哦) 如果jQuery可用,angular.element就相当于jQuery的$。如果不可用,angular.eleme...
AngularJS按照发布/订阅模式设计了其事件系统,使用时需要“发布”事件,并在适当的位置“订阅”或“退订”事件,就像邮箱里面大量的订阅邮件一样,当我们不需要时就可以将其退订了。具体到开发中,对应的就是$scope和$rootScope的$emit、$broadcast和$on方法。 0、发布 $broadcast和$emit用于发布事件,他们将事件名称和事件内容发布出去,就像是高考榜单一样,事件名称相当于考生的名字,而事件内容相当于考生的成绩等信息: $scope.$broadcast(eventName,args) $scope.$emit(eventNa...
js中控制函数执行1次或n次的方法
[ 2017/12/01, 6144阅, 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, 5682阅, 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, 2800阅, 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, 3818阅, 1评 ]
AngularJS框架定义了自己的前端路由控制器,通过不同URL实现单面(ng-app)对视图(ng-view)的部署刷新,并支持HTML5的历史记录功能。默认状态下,是不启动HTML5模式的,此时URL中会包含一个#号,用来区别是AngularJS管理的路径还是WebServer管理的路径。 某些情况下,#号并不不太友好。比如美观度,还有有的地方不支持这种带#号的URL。下面记录下去掉#号的方法: 1.入口文件index.html中增加<base>标签 <!DOCTYPE html> <html> <head> <...