随笔
js
// 正则验证
let reg = new RegExp("\^[A-Z]+$");
if (reg.test(data))
//深拷贝
JSON.parse(JSON.stringify(element))
Object.assign() 结构简单的对象是深拷贝,复杂的是浅拷贝
// fetch
getUserList(context,inputdata) {
return fetch({
url: 'Account/GetUserList',
method: 'post',
data: inputdata,
});
},
// function(){ }和() =>{ }的区别 (匿名函数和箭头函数的区别)
箭头函数没有单独的this,this总是指向外层调用者
匿名函数指向上一层
function Person() { var that = this; that.age = 0; setInterval(function growUp() { //回调引用的是`that`变量, 其值是预期的对象.that.age++; }, 1000);}
//js方法 https://www.w3school.com.cn/jsref/jsref_obj_string.asp
字符串
替代 replace(); 分割 split(); 提取 slice(); 连接 concat();
数组
组合 join(); 删除及添加 splice(); 提取 slice(); 连接 concat();
日期 https://www.w3school.com.cn/jsref/jsref_obj_date.asp
// 导出excel(具体代码参考报表管理的导出 xlsxButton.vue)
http://blog.haoji.me/js-excel.html
// 解决a标签跨域无法下载文件,只是打开预览 (已经获取到URL)
https://blog.csdn.net/xtjatswc/article/details/99507557
用 XMLHttpRequest 做交互,具体参考模版的pdf打印 openPdf.vue
vue
//actions context 是 store的类实例,包含state对象属性和commit, dispatch等方法
//promise
https://www.cnblogs.com/whybxy/p/7645578.html
//子组件修改父组件的值
https://www.cnblogs.com/padding1015/p/7878741.html
子组件 this.$emit("事件",参数); 父组件 @事件名="事件名(参数)"
//vue-router https://www.jianshu.com/p/4c5c99abb864 https://segmentfault.com/a/1190000009651628
this.$router.push({
name: 'rateApprove',
params: {
flowCode:'RateApproval',
row: input
}
});
this.$router.push({
path: "/bookingmanagement/unWaybillTransfer"
});
this.$router.go(-1) //跳转到上一次浏览的页面
$route 是“路由信息对象”,包括 path,params,hash,query,fullPath,matched,name 等路由信息参数。
$router 是“路由实例”对象,即使用 new VueRouter创建的实例,包括了路由的跳转方法,钩子函数等。