• vue中遇到的坑!!!!!


    一 、vue安装的坑

    报错时的常见问题

    1、cnpm install 模块名 –save-dev(关于环境的,表现为npm run dev 启动不了)cnpm install 模块名 –save(关于项目的,比如main.js,表现为npm run dev 成功之后控制台报错)比如escape-string-regexp、strip-ansi、has-ansi、is-finite、emojis-list/2.

    2、报如下错,表示端口错误,关掉相关页面,重新启动!!!

     3、启动项目的时候会出出现加载那些文件进程,这时候可以通过设置package.json文件

    4、打包编译(cnpm  run dev),只需要提交dist文件

    后端那边配置路径只需要映射到dist里面的index文件!!!!!!

     5.在用scss编辑的时候,引用路径的坑

    二、swiper安装的坑

    1.swiper 安装

    npm install swiper --save

    2.然后在static引入样式

    3  .vue文件引入

    require('../../../static/swiper.min.css')
    import Swiper from 'swiper'   //用npm安装的,要用的时候,需要用import引入!!!!!!

    mounted (){
    setTimeout(() => {
    var mySwiper = new Swiper('.swiper-container', {
    autoplay: true,//可选选项,自动滑动
    })
    }, 400)
    },

    注意在vue中需要用setTimeout(function(){},400),不然swiper不会自己轮播!!!!!

    三、进行双向数据绑定的时候,使用false来控制显示隐藏,发现失效,经检查发现,是因为在切换的时候,给false和true加双引号了,以至于赋值的是赋值string类型而不是boolen类型

    打印出来

    isActive要是布尔值,字符串就会失效

    四、在进行父子组件相互通讯的时候,利用布尔值控制不同元素的显示隐藏,值得注意的是父组件传给子组件的布尔值

    子组件接收的时候是限制布尔值,所以这时候父组件这边传过来的是布尔值,要是不传或者所传不是布尔值类型,则子组件使用的是默认值,当所传不是布尔值是会警告!!!

    父组件异步获取的数据,想传递给子组件使用,然后在子组件中获取数据,会报如下的错误

    解析:子组件的html中的{{childData}}的值会随着父组件的值而改变,但是created里面的却不会发生改变(生命周期问题)

    http://www.jb51.net/article/117447.htm

    五、常见报错

    vue中,假如,你引入某个样式,然后这个样式里面有引用到图片,如果你的文件中没有这个图片,这时候,即使你没有引用这个图片对应的类名,但是只要你有引入这个css文件,他找不到相应路径图片也会报错!!!

    六、在<router-link></router-link>中使用v-for="(item ,index) in list"进行循环时,需要注意加::key=“index”,不然会出现警告!!

    <router-link  v-for="(item ,index) in list" :key="index" ></router-link>

    七、路由跳转错误

    跳转路由后,发现http://localhost:8085/mall/detail/202路径会自动跳转http://localhost:8085空白页,排查原因后,发现detail中引入的组件报错

    八、图片引用错误

    在vue中的html中的img中的src不可以直接设置为变量,在data里面直接引路径,只能通过import的形式引入,值得注意的是,引用这个方式的时候src是变量需要加“:”,不然会报错!!!!!

    <img :src="imgSrc">

    import imgSrc  from  '../../assets/consult/head1.png '

    data() {

    return {

        imgSrc:imgSrc

    }

    }

    九:用for循环出来的列表,在设置列表中的元素的动态属性时,需要加bind属性“:”,不然动态属性设置不出来

    十:父组件ajax异步更新数据,子组件props获取不到

    应用场景

    当父组件  axjos  获取数据,子组件使用  props  接收数据时,执行  mounted  的时候  axjos  还没有返回数据,而且  mounted 只执行一次,这时   props  中接收的数据为空

    解决方案:在对应组件中判断数据的长度

    <recommend :recommend="recommendList" v-if="recommendList.length"></recommend>

     十一:当出现如下警告时

    WARNING in ./node_modules/api/activity.js
    There are multiple modules with names that only differ in casing.

    排查原因:(这个是表示大小写写错了)
    1 、在引用组件时,路径大小写不对也会造成此报错,看例子:
    错误写法:

    import Footer from '../components/Shared/footer.vue'

    正确写法:

    import Footer from '../components/shared/footer.vue'
  • 相关阅读:
    Jquery的函数
    Jquery的$.ajax()函数$.get(),$.post(),$.getjson(),$.ajax()
    $.ajax()详解
    JSON 数据格式,能比较清晰容易理解的解读json
    练习:WinForm 对话框控件(文件读取、写入)
    练习:WinForm 对话框控件(显示、获取)
    练习:WinForm--DataGridView增删改查完整版
    Chapter 10. WinForm-DataGridView(确认删除、多条件查询、数据区别显示)
    Chapter 10. WinForm-DataGridView
    练习:WinForm 计算器
  • 原文地址:https://www.cnblogs.com/qdlhj/p/8000895.html
Copyright © 2020-2023  润新知