Vue项目遇到的问题即解决办法

Vue项目版本信息: Vue2.5.2,better-scroll2.3.1

  1. 问题描述】在vue项目中使用better-scroll实现滚动效果,实现城市列表的滚动效果,在PC端可以在滚动时对城市列表中的某一项进行选择,而在移动端选择失效。
    解决办法】原因在于:better-scroll在移动端默认禁用touch事件。
 this.scroll = new Bscroll(this.$refs.wrapper, {click: true, disableMouse: false, disableTouch: false})    

在这里插入图片描述

  1. 问题描述】通过JSON异步获取数据,PC端有时候可以进行城市列表的滑动,也可以根据右侧字符列表进行相应的联动,但是有的时候却不可以,然而当更改当前Chrome手机模拟的型号时又可以。移动端有时候联动功能正常,也有些时候页面根本无法滑动。
    解决办法】在mounted()中使用了better-scroll,当页面进行挂载时,mounted()不能保证子组件也一起被挂载,由于子组件没有被挂载,因此子组件也就获取不到better-scroll有效的条件,因而页面不能正常滚动(大多数情况)。
mounted () {
     this.scroll = new Bscroll(this.$refs.wrapper, {click: true, disableMouse: false, disableTouch: false})                 
  }

mounted()可参考
在这里插入图片描述
按照官方的推荐,我们希望等到整个视图渲染完毕再调用better-scroll。也可以按照【参考】去更改代码,在watch()中对better-scroll进行刷新,当检测到数据发生变化refresh()就会在DOM更新之前调用。从而使得better-scroll滑动生效。

watch(){
	cities () {
       this.$nextTick(() => {
        this.scroll.refresh()
      })
    }
 }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue项目常见问题及解决方法包括但不限于以下几个方面: 1. 跨域问题:在Vue项目中,由于浏览器的同源策略限制,经常会遇到跨域问题。解决方法可以使用代理服务器来转发请求,或者在后端接口中设置允许跨域请求的头信息。 2. 路由问题:有时候会遇到路由跳转不成功或者参数传递错误的问题。解决方法是检查路由配置是否正确,确保路由路径和组件对应正确,同时在跳转时传递参数时要注意参数的类型和命名是否一致。 3. 组件通信问题:在Vue项目中,组件之间的通信是常见的问题。解决方法可以使用Vuex来进行状态管理,或者使用Vue的自定义事件来实现组件间的通信。 4. 性能优化问题:在大型Vue项目中,性能优化是一个重要的考虑因素。解决方法包括使用异步组件来提高首屏加载速度,使用懒加载来按需加载组件,合理使用Keep-alive缓存组件等。 5. 打包部署问题Vue项目的打包部署有时候会遇到一些问题,比如打包后文件体积过大或者部署到服务器后页面空白等。解决方法可以使用Webpack进行代码优化和压缩,或者检查部署路径和服务器环境等。 综上所述,Vue项目常见问题的解决方法需要深入理解Vue的相关知识,并结合具体问题进行调试和优化。在实际开发中,理解这些问题并能够快速解决将有助于提高开发效率和项目质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值