欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue轮播组件及去掉路由#

程序员文章站 2022-06-22 09:45:08
最近公司要我去实现vue知识的系统讲解,总结一番,大致需要7节课,今天大致说一下我们使用vue需要学会的基本技能。vue是一个渐进性视图渲染框架,使用vue核心是数据出发,数据一般是我们前台从后台获取数据,对应显示到我们的页面上就可以。 使用vue基本工具必备,node, *的工具蓝灯(如果没有的 ......

最近公司要我去实现vue知识的系统讲解,总结一番,大致需要7节课,今天大致说一下我们使用vue需要学会的基本技能。vue是一个渐进性视图渲染框架,使用vue核心是数据出发,数据一般是我们前台从后台获取数据,对应显示到我们的页面上就可以。

使用vue基本工具必备,node, FQ的工具蓝灯(如果没有的同学可以找我,给你安装包),vue-cli,这是最基本的使用工具,如果您是后台开发人员,那么我推荐使用webstrom和vscode,他们都可以配置node,使用npm命令去启动,唯一不好的就是对于代码快速修改有点慢,如果电脑配置相当好可以使用;如果你的电脑比较卡顿,那么建议你使用sublime就可以了,通过安装插件就可以了。

下面进入我们的学习阶段,首先大致说一下vue的开发过程,也是大都数项目的使用惯例。写项目时,我们需要统一一下那些公用的方法,比如:请求错误页面,登录,注册,还有我们常用的弹窗页面,那些是我们私有的方法,那些需要定一些对象去使用。

我们一个系统设计的功能模块,从开发来说,常见的有轮播图,tab栏切换,搜索组件,地址,导航菜单(折叠导航菜单),footer(版权信息),还有友情链接,个人中心,头像修改,重置密码,登录(第三方登录),注册,列表页循环,分页功能,下拉刷新等

从上面的浅谈中,我们可以发现我们在项目中需要一个公共组件,header组件,footer组件,nav组件,swiper组件,tab组件,fail组件等其他组件,今天我们分享一下swiper组件封装到vue中去。

1.安装swiper,修改package.json中的vue轮播组件及去掉路由#,在这个对象中添加“swiper” : "^3.0.0" 注意这里是你想用的swiper插件版本号,可以去GitHub查看版本号,这个'^'是大于等于这个版本的意思。

2.如果你在webstorm中修改了配置文件,那么会告诉你更新npm install ,你更新就好了,如果失败了,那么建议你使用命令窗口去更新,使用cnpm install ,这个命令你可以清楚地看到自己的依赖包是多少个,好了会有对勾的绿色的。

3.在src 下新建一个文件夹common,用来存放我们的公共组件,header组件,footer组件也可以使用在这里,然后新建一个swiper.vue文件,文件名首字母大写,最好使用英文,如果使用webstorm我们可以在“setting”中新建一个vue类型的模板文件,这样自动生成好vue文件的模板,非常方便。

4.编写我们swiper的核心代码

 1 <template>
 2   <div class="swiper-container" :id="swiperId">
 3     <div class="swiper-wrapper">
 4       <div  v-bind:key="index" v-for="(item,index) in swiperD" class="swiper-slide swiper-slide-next" @click="slideTo(item.url)">
 5         <img :src="item.imgHref" />
 6       </div>
 7     </div>
 8     <div class="swiper-pagination"></div>
 9   </div>
10 </template>
11 
12 <script>
13 import Swiper from 'swiper'
14 
15 export default {
16   props: [ 'swiperId', 'swiperD' ],
17   data () {
18     return {
19 
20     }
21   },
22   mounted () {
23     this.sw()
24   },
25   methods: {
26     sw () {
27       let that = this
28       // eslint-disable-next-line
29       let lunbo = new Swiper('#' + that.swiperId, {
30         pagination: '.swiper-pagination',
31         paginationClickable: true,
32         longSwiperRatios: 0.3,
33         setWrapperSize: true,
34         autoplay: 3000,
35         autoplayDisableOnInteraction: false,
36         loop: true
37       })
38     },
39     slideTo (url) {
40       console.log(url, window)
41       window.location.href = url
42     }
43   }
44 }
45 </script>
46 
47 <style>
48   @import url(./swiper.min.css);
49   .swiper-container{
50     padding-top:2.45rem;
51     min-height:150px;
52   }
53   .swiper-slide{
54     width:100%
55   }
56   .swiper-slide img{
57     width:100%;
58     display: block;
59   }
60 </style>

注意这里的引入swiper.min.css需要引入,去掉这里的scoped,不然引用组件的使用样式不起效果

5.使用组件

导入组件

import Swipers from '../common/Swiper'

模板中引入
<Swipers swiperId="lunbo" :swiperD="swipers"></Swipers>
主要使用swiperId必须要传入, swiperD是我们的数据源。
6.篇后福利,去掉路由中的#
在router的index.js中使用
mode: 'history',
7.es语法中未使用的变量去掉语法检测:
// eslint-disable-next-line
8.GitHub链接地址:喜欢的记得star哈。
9.7天vue入门资料,不定期更新,喜欢的请加微信预定(xingguangbi,6块钱一份,需要的来)