vue项目开发中遇到的几个问题?《闲着无聊总结了的—一个作为两年工作经验的程序员》

1.使用elment或者mintUI库时,需要全局引入ui库的css文件;然后在修改自己样式时,需要将自己的css文件引入到main.js中才会生效,全局引用
2、使用v-html展示dom字符串时,相应的css文件中的样式是不会生效的,需要使用组件展示dom

3、axios使用,是需要一个qs的node模块,然后请求的数据格式是表单格式的,需要设置header的Content-Type格式

import Vue from 'vue'
import axios from 'axios'
import qs from 'qs'


Vue.prototype.$axios = axios    //全局注册,使用方法为:this.$axios
Vue.prototype.qs = qs           //全局注册,使用方法为:this.qs,序列化data数据

  axios({
    method: 'post',
   url:prefix + url,
    data: qs.stringify(data),
    timeout: 30000,
    headers: {
      // 'X-Requested-With': 'XMLHttpRequest',
      'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
    }
  })


4、watch监听object时,需要进行深度监听,因为vue默认只监听data中的属性一级


watch: {
  firstName: {
    handler(newName, oldName) {
      this.fullName = newName + ' ' + this.lastName;
    },
    // 代表在wacth里声明了firstName这个方法之后立即先去执行handler方法
    immediate: true
  }
}


5、写props时可以写成对象{ },里面配置数据类型

6、axios请求是异步的,需要注意在其then之后操作,否则拿不到数据,此时可以保存axios返回的Promise对象,然后在Promise的then方法中做异步操作

7、使用事件总线传值时,emit 和on方法是存在先后顺序的,必须是on事件监听的绑定要在emit事件发送之前建立,否则就是能监听到事件,但是传递的值也会丢失,谨记

8.vue项目中用v-for 循环本地图片, 图片不显示,解决办法:使用require动态引入图片,或将图片放static文件夹里面。

<img v-bind:src="require(item.imgurl)">

9.合并多个对象并去重(es6)

    let objTwo = {b:2};
    let objThree = {b:4,c:5};
    let obj = Object.assign(objOne,objTwo,objThree);
    console.log(obj)    // {a:1,b:4,c:5}
    let obj1={...objOne,...objTwo,...objThree};
    console.log(obj1)   // {a:1,b:4,c:5}

10.vue计算属性里如何传参:需求是需要把数值转为三位数,类似1需要变为001,10变为010这样。 下面是正确写法,页面中用{{convertToThree(num1)}},{{convertToThree(num2)}},{{convertToThree(num3)}}即可获得对应三位数的模样:

    el:'#app',
    data:{
        num1:0,
        num2:10,
        num3:100
    },
    computed:{
        convertToThree:function(){
            return function(num){
                  if(num>=0 && num <=9){
                    return '00' + num
                  }else if(num>=10 && num <=99){
                    return '0' + num
                  }
                    return num
                }  
        }
    }
})          ```
11.小程序中moveToLocation失效问题修复

```           uni.getLocation({ //需要先授权
    type:'gcj02',
    success(res) {
 
        setTimeout(() => { // 1、定时器 绑定经纬度 
            vm.longitude = lon
            vm.latitude = lat
            vm.scale = 16;
        }, 300)
                    
        vm.mapContext.moveToLocation({ // 2、移动到指定位置
           longitude: lon,
           latitude: lat
        });
    }
})    ```

******喜欢的可以点个关注点个赞,谢谢!
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在学习Vue,下面是学习过程中总结了一些基本的知识点 Vue 一. 基本知识 1. 实例化 2. 过滤器 {{...
    冬天吃橘子_Autumn阅读 553评论 0 2
  • ️1⃣️、Vue和其他两大框架的区别 Angular 学习成本太高 React 代码可读性差 Vue 学习成本较低...
    蓝海00阅读 74,063评论 40 1,231
  • Vue真是太好了 壹万多字的Vue知识点 超详细! 9 ️1⃣️、Vue和其他两大框架的区别 Angular 学习...
    三千繁夢阅读 349评论 0 0
  • 1. Vue.js介绍 Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API; V...
    和泥巴的葫芦娃阅读 926评论 2 11
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 125,887评论 2 7