开发遇到的问题汇总

1、 运用vuex,页面刷新后vuex中得数据丢失:
解决:将保存在vuex中后期需要用到得请求接口参数的字段用localstorge/sessionStorge技术保存起来,再去获取,当然这个也可以不用vuex,直接存到本地。
2、 当发起一次POST请求时,若未指定content-type,则默认content-type为application/x-www-form-urlencoded。即参数会以Form Data的形式进行传递,不会显式出现在请求url中
3、 Axios中post方式 以content-type为appliction/json时,参数的形式是request payload
4、 Get请求传值的形式是:Query String Parameters;参数会拼接到url?参数名=参数值
5、 415状态码:前后端的请求头设置的content-type不一致;400:前端传向后端的参数形式与后端定义的参数形式不一致;
6、 Axios请求接口的时候会线序发两个一样得请求:第一个请求方式是options,第二个才是我们要请求的方式;(待解决)
7、 当一个应用中启(axios.create)大于一个的服务,这时候全局的拦截器就会出错;因为全局拦截器只是针对的一个axios;
8、 初始化,在vuex中能获取到state的父级对象,这时候能看到该对象的子对象有内容,但是刷新后在router.before中获取子对象的时候内容为空,原因在于刷新之后vuex中的数据需要重新提交,这时候发送的请求以及提交vuex的过程没有完成之前就已经在获取vuex中的子对象了,这时候要加定时器setTimeout进行延迟处理,保证在获取vuex中对象数据之前,页面中的数据已经提交到veux中。
知识点:页面中在获取vuex中数据的时候,要保证该数据已经提交到vuex中:1、可以用setTimeout进行延时处理;2、还可以用async、await进行处理(这只是一个思路并没有进行项目实践)
9、 当通过xftp将打包好得dist文件上传到服务器,再次build出错,关掉xftp即可
10、 Elementui中的el-select组件在回显的时候,显示的id的类型要与设置的类型是一致的否则会显示数字,不会显示id对应的label
11、 V-if 和 v-show:
1、v-if:是动态的向dom树中添加或者删除dom元素,;v-show是通过设置dom元素的display样式来控制dom元素的显隐性的,但是当dom元素初始有display样式的时候,这时候v-show不能修改display的值,因为它知识修改style为display:””或者display:none,并不会覆盖原来的css属性;
2、v-if切换是有一个局部编译卸载的过程,切换过程中合适的销毁和重建内部的事件监听和子组件;v-show知识简单的基于css切换:
3、v-if是惰性的,如果出事条件为假,则什么也不做,只是在条件第一次为真时,才会开始编译(编译被缓存后,然后再切换的时候进行局部卸载);c-show在任何条件下(首次条件是否为真)都被编译,然后被缓存,而且dom元素保留;
4、v-if有更高的切换消耗;v-show有更高的初始渲染消耗;
5、v-if适合在条件不大可能改变;v-show适合频繁切换;
12、 V-for 后面的要是跟着一个数字,确保是number型不然只会遍历出一个
13、 margin:0 auto; 只会让块级元素水平居中(inline-block类型的也不可以啊),如果行内元素用的话,display:block;既可;
块级元素:单独成行、高度宽度均可以控制;div、li、h1-h6、p、ol、ul等
行内元素:可以在一行显示多个相同的元素及同类元素,不可控制大小;img、span、a、br、input、select;
14、 title属性:鼠标停留在元素上时,会显示title属性中的内容;
15、
在vue语句中,通过后端返回的数字来进行状态判定的时候,当有两种状态值的时候可以用三目运算符,但是多于两个的时候可以用computed进行判断显示:如下
computed:{
//通过不同的状态显示对应的文字
statusText(){
return function(status){
switch (status) {
case 0:
return '未投放';
break;
case 1:
return '在售';
break;
case 2:
return '停售';
break;
case 3:
return '审核中';
break;
case 4:
return '驳回';
break;
}
}
}
this.checkInfo.status = this.statusText(r.status);
16、 Void 一元操作符 1>保证取到undefined;2>当点击某个文字链接产生某个动画效果但是保持页面不刷新是,可以使用:
17、 知识点一:js函数调用时加括号和不加括号的区别.不加括号相当于把函数代码赋给等号左边,加括号是把函数返回值赋给等号左边;
知识点二:js中this的用法,this总是指向调用它的对象
18、当页面层级很多的时候,可能会造成有的图层的border-radius不生效,在手机端,这时候给图层加上z-index即可,注意z-index只有在图层设置了position属性才生效
19、safari浏览器开启长按手机图片报错到本地css代码: -webkit-touch-callout: default;
20、小程序获取的数据{{}}中不能用toFIxed()进行四舍五入,写一个filters,运用管道去处理值,否则会报错,例:TypeError: Cannot read property 'toFixed' of undefined; 另外toFixed()方法出楼number但是但会的是string

你可能感兴趣的:(开发遇到的问题汇总)