问题汇总一
1.给动态生成的元素添加 onclick方法 并传递参数时,传递的是string 类型需要进行转义;传递的是number类型则可以直接传递
举个栗子:onclick="backOut('+docList.id+')" //number
onclick="resi(\''+c.residentName+'\')" //string
2.Vue axios请求数据时获得的一般是json对象;若需要获取某一项特定的值,需要进行数组判定
举个栗子: this.msg= res.data.list[0].id; //获取的数据中的ID值,并赋予给msg
3.PC端 移动端兼容 使用@media screen (min-width:330px) and (max-width:768px ) 注意html页面需要先有视口
举个栗子:<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no"/>
3.axios传参后台接收不到数据
1.安装使用qs模块 npm install --save qs; import qs from 'qs'; Vue.prototype.$qs = qs;
2.声明变量接收被转换的参数
3.传递数据
举个栗子: let postData=this.$qs.stringify({
adminId:value
});
this.$axios({
method: 'post',
url: '/sos/index.php/api/web/record',
data:postData
}).then(res => {
}).catch(err => console.log(err));
},
4.表格行内传参数据处理
举个栗子:1.页面内先定义 @click="handleEdit(scope.$index, scope.row)"
2. handleEdit(index,row) { //重点:index,row传入的是每一行的数据
let tim=row.time;
let typ=row.type;
}
5.vue截图处理
1.下载依赖 npm install --save html2canvas ;
2.当前页面引入 import html2canvas from 'html2canvas';
3.调用
html2canvas(document.getElementByI("logMap"),{scale:2,logging:false,useCORS:true}).then(canvas=>{
let imgMap = canvas.toDataURL(); //生成Base64编码
const a = document.createElement('a');
a.href = imgMap;
a.setAttribute('download', '充值成功.png');
a.click();
});
6.页面title图标修改
1.将jpg/png 图片转化为icon格式图标 16*16底色
2.index.html中的head引入 <link rel="icon" href="图标所在路径" type="image/x-icon">
7.MD5 加密使用
1.引入模块 npm install --save js-MD5;
import md5 from 'js-md5';
Vue.prototype.$md5 = md5;
2.声明一个前后台约定的token验证
Vue.prototype.$mm = 'abccdsssfff@#%$%123';
3. 页面引用
var token=this.$md5( id//传递给后台的数据 + this.$mm);
注意:1.js无法单独实现获取终端IP地址
1.学会封装和闭包自己的js方法,在函数中,全局函数查找会比私有的查找起来更慢
2.学会原型函数封装和工厂函数模式去美化自己的js
3.如果会node,会vue,vuex,webpack,还有和php或者.net后端可以配合那6-8k那是稳拿