一个基于vue的h5项目,并使用了h5 history模式(即去掉了#号),并同时兼顾公众号内嵌(安卓环境、IOS环境)、安卓app内嵌和基本的网页使用。主要入口为公众号的菜单,当然也可以是直接点链接进入,亦或者扫码进入,也可以是从已经分享出来的链接点击再进入等等。 由于是基于vue的SPA应用,所以每个页面的标题和描述都是一样的。尽管做了动态更改title和desciption,但分享出去后的显示效果仍然达不到要求,而且ios版本的微信分享出去的链接也存在不准确的问题,基于此,决定使用微信的JSSDK。微信JS-SDK说明文档https://mp.weixin.qq.com/wi...
之前是写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, 2552阅, 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, 6543阅, 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, 6080阅, 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, 2996阅, 0评 ]
JavaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object。object是引用类型,其它的五种是基本类型或者是原始类型。我们可以用typeof方法打印来某个是属于哪个类型的。不同类型的变量比较要先转类型,叫做类型转换,类型转换也叫隐式转换。隐式转换通常发生在运算符加减乘除,等于,还有小于,大于等。 typeof '11' //"string" typeof(11) //"number" '11' < 4 //false 一、基本类型的转换 1.加减乘除 1.字符串加数,数...