Vue 学习笔记三、触摸事件、轮播图

简介: Vue 学习笔记三、触摸事件、轮播图


如果存在 标签,且跟它同级有其他标签需要使用


<template>
     <div>
         <div>home view</div>
         <router-link to='/list'>列表页</router-link>
     </div>
</template>

  • mate初始化

npm install fastclick --save


安装好之后在运行

npm run start

然后可以到 package.json 文件中就能看到 dependencies 选项中包含了 fastclick


"dependencies": {
    "fastclick": "^1.0.6",
    "vue": "^2.5.2",
    "vue-router": "^3.0.1"
},

然后在 main.js 中使用如下


import Vue from 'vue'
import App from './App'
import router from './router'
import fastClick from 'fastclick'
import './assets/styles/reset.css'
import './assets/styles/border.css'
Vue.config.productionTip = false
fastClick.attach(document.body)
/* eslint-disable no-new */
new Vue({
  el: '#app',
  router: router,
  components: { App: App },
  template: '<App/>'
})

  • 文件别名添加  image.png

添加好别名之后,就可以直接使用 styles 作为文件开头使用。注意,修改完成别名之后使用会报错,那是因为需要重启服务器。所以你可以重新


npm run start

另外在 main.js 文件里面导入文件只需要

import './assets/styles/iconfont.css'

或者

import '@/assets/styles/iconfont.css'

因为 @ 在文件别名里面代表的就是 src 文件夹。


但是在 .vue 文件中的 标签里使用的时候则需要这样用

import '~@/assets/styles/iconfont.css'

需要在开头加上 ~ 符号。


补充一下别名的使用结果,用上面两个文件的导入举例为:


main.js:

import 'styles/iconfont.css'

.vue 中的 使用:

import '~styles/iconfont.css'


  • Chrome 插件 vue devtools 方便 Vue 调试

  • 安装 axios


如果需要模拟本地数据需要把本地数据 .json 文件放在 static 文件目录下,如果放在 src 文件夹下 打开链接时会自动定位到首页,导致无法加载,所以只能放在 static 文件夹下。


npm install axios --save

image.png


  • 请求转移

image.png


图中就将 /static/mock 转成 /api ,只要请求调用 /api/xxx, 就相当于是调用 /static/mock 下的文件,示例:


methods: {
   getHomeInfo () {
    // axios.get('/static/mock/index.json').then(res => {
    axios.get('/api/index.json').then(res => {
      console.log(res)
    }).catch(err => {
      console.error(err)
    })
   }
 },
mounted () {
  this.getHomeInfo()
}

传参1:


axios.get('/api/index.json?id=' + this.$route.params.id).then(res => {
   console.log(res)
}).catch(err => {
   console.error(err)
})

传参2:


axios.get('/api/index.json', {
   params: {
     id: this.$route.params.id
   }
}).then(res => {
   console.log(res)
}).catch(err => {
   console.error(err)
})

  • 滚动效果

better-scrolliscroll 的封装,使用更加友好。


npm install better-scroll --save

解决better-scroll导致点击事件失效的原因和解决方法:


mounted () {
   const options = {
     click: true,
     tap: true
   }
   this.scroll = new Bscroll(this.$refs.wrapper, options)
}

  • 触摸事件
    @touchstart='handleTouchStart' 触摸开始 @touchmove='handleTouchMove' 触摸中 @touchend='handleTouchEnd' 触摸结束


当在触摸的时候可能会下面的滚动视图也跟着滚动那么需要这么修饰


@touchstart.prevent='handleTouchStart' 触摸开始
@touchmove='handleTouchMove' 触摸中
@touchend='handleTouchEnd' 触摸结束

  • 数据存储 vuex

相关文章
|
2天前
|
缓存 JavaScript UED
Vue 中实现组件的懒加载
【10月更文挑战第23天】组件的懒加载是 Vue 应用中提高性能的重要手段之一。通过合理运用动态导入、路由配置等方式,可以实现组件的按需加载,减少资源浪费,提高应用的响应速度和用户体验。在实际应用中,需要根据具体情况选择合适的懒加载方式,并结合性能优化的其他措施,以打造更高效、更优质的 Vue 应用。
|
1天前
|
JavaScript
如何在 Vue 中使用具名插槽
【10月更文挑战第25天】通过使用具名插槽,你可以更好地组织和定制组件的模板结构,使组件更具灵活性和可复用性。同时,具名插槽也有助于提高代码的可读性和可维护性。
7 2
|
1天前
|
JavaScript
Vue 中的插槽
【10月更文挑战第25天】插槽的使用可以大大提高组件的复用性和灵活性,使你能够根据具体需求在组件中插入不同的内容,同时保持组件的结构和样式的一致性。
7 2
|
1天前
|
前端开发 JavaScript 容器
在 vite+vue 中使用@originjs/vite-plugin-federation 模块联邦
【10月更文挑战第25天】模块联邦是一种强大的技术,它允许将不同的微前端模块组合在一起,形成一个统一的应用。在 vite+vue 项目中,使用@originjs/vite-plugin-federation 模块联邦可以实现高效的模块共享和组合。通过本文的介绍,相信你已经了解了如何在 vite+vue 项目中使用@originjs/vite-plugin-federation 模块联邦,包括安装、配置和使用等方面。在实际开发中,你可以根据自己的需求和项目的特点,灵活地使用模块联邦,提高项目的可维护性和扩展性。
|
2天前
|
JavaScript 前端开发 UED
vue 提高 tree shaking 的效果
【10月更文挑战第23天】提高 Vue 中 Tree shaking 的效果需要综合考虑多个因素,包括模块的导出和引用方式、打包工具配置、代码结构等。通过不断地优化和调整,可以最大限度地发挥 Tree shaking 的优势,为 Vue 项目带来更好的性能和用户体验。
|
2天前
|
缓存 JavaScript UED
Vue 中异步加载模块的方式
【10月更文挑战第23天】这些异步加载模块的方式各有特点和适用场景,可以根据项目的需求和架构选择合适的方法来实现模块的异步加载,以提高应用的性能和用户体验
|
2天前
|
JavaScript 测试技术 UED
解决 Vue 项目中 Tree shaking 无法去除某些模块
【10月更文挑战第23天】解决 Vue 项目中 Tree shaking 无法去除某些模块的问题需要综合考虑多种因素,通过仔细分析、排查和优化,逐步提高 Tree shaking 的效果,为项目带来更好的性能和用户体验。同时,持续关注和学习相关技术的发展,不断探索新的解决方案,以适应不断变化的项目需求。
|
API JavaScript
12、vue-awsome-swiper与轮播图组件
GitHub:https://github.com/Ewall1106/mall 一、新建home.vue 1、上篇我们为了便于展示,把头部my-header组件放在了App.vue页面,现在我们删掉App.vue里面的头部组件然后我们在view文件里面新建一个home.vue页面,然后把头部组件和今天要讲的轮播图组件都放在home.vue页面。
2350 0
|
3天前
|
数据采集 监控 JavaScript
在 Vue 项目中使用预渲染技术
【10月更文挑战第23天】在 Vue 项目中使用预渲染技术是提升 SEO 效果的有效途径之一。通过选择合适的预渲染工具,正确配置和运行预渲染操作,结合其他 SEO 策略,可以实现更好的搜索引擎优化效果。同时,需要不断地监控和优化预渲染效果,以适应不断变化的搜索引擎环境和用户需求。
|
5天前
|
JavaScript
Vue 指令速查表
【10月更文挑战第12天】Vue 指令速查表