3.1 get提交
axios.get('/api/index.json').then(this.getHomeInfoSucc)3.2 post提交, 需要先安装 qs, npm install qs --save,
import axios from 'axios' ------------------------------- let qs = require('qs') let postInfo = { name: 'zhangsan' } let postUrl = "http://api.99314.com/api/index/test"; axios.post(postUrl, qs.stringify(postInfo), { headers: {'Content-Type': 'application/x-www-form-urlencoded'} }).then(res=>{ console.log(res); })4.1 新建 src/common/common.js, 在里面导出方法
export default{ setCookie (name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); }, getCookie (name) { var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); if(arr=document.cookie.match(reg)) return unescape(arr[2]); else return null; }, delCookie (name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString(); }, //获取jint日期 getTodayDate() { const myDate = new Date(); const year=myDate.getFullYear(); //获取完整的年份(4位,1970-????) const month=myDate.getMonth()+1; //获取当前月份(0-11,0代表1月) const date=myDate.getDate(); //获取当前日(1-31) const str = year + '年' + month + '月' + date + '日' + "星期" + "日一二三四五六".charAt(new Date().getDay()); return str; }, //获取明天日期 getTomorrowDate() { const myDate = new Date(); myDate.setTime(myDate.getTime() + 24*60*60*1000); const year=myDate.getFullYear(); //获取完整的年份(4位,1970-????) const month=myDate.getMonth()+1; //获取当前月份(0-11,0代表1月) const date=myDate.getDate(); //获取当前日(1-31) const str = year + '年' + month + '月' + date + '日' + "星期" + "日一二三四五六".charAt(myDate.getDay()); return str; }, HTTPHOST: "http://api.99314.com" }4.2 在main.js中引入
//引入公共js import common from '@/common/common.js' Vue.prototype.common = common4.3 在项目中使用
alert(this.common.HTTPHOST)在苹果里面有bug,要用
window.location.reload()
如果绑定了一个父级元素后,点击子元素时,会触发父元素的点击事件,如果需要点击子元素时不触发父元素事件,有两种方法
1. 原理: 在JS中,event.currentTarget获取到的是click事件绑定的DOM对象,event.target获取到的为当前所点击的DOM对象。
在父元素中判断event.currentTarget == event.target是否为true
2.在子元素中,绑定一个阻止冒泡的点击事件 @click.stop
13.vue返回上一页面时回到原先滚动的位置的方法
1. app.vue中
<div id="app"> <keep-alive> <router-view v-if="$route.meta.keepAlive" /> </keep-alive> <router-view v-if="!$route.meta.keepAlive"></router-view> </div>2. index.js路由
export default new Router({ routes: [{ path: '/', name: 'index', component: index, meta: { keepAlive: true } },这样在index.vue中,mounted方发只走一次,在浏览器上实现了返回原来滚动位置的目的。但是在手机上测试,发现没用,解决手机上实现目的的方法
//在页面离开时记录滚动位置 beforeRouteLeave(to, from, next) { this.scrollTop = document.documentElement.scrollTop || document.body.scrollTop next() }, //进入该页面时,用之前保存的滚动位置赋值 beforeRouteEnter(to, from, next) { next(vm => { document.body.scrollTop = vm.scrollTop }) },