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

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

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

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

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

1.安装swiper,修改package.json中的,在这个对象中添加“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的核心代码

 <template>
<div class="swiper-container" :id="swiperId">
<div class="swiper-wrapper">
<div v-bind:key="index" v-for="(item,index) in swiperD" class="swiper-slide swiper-slide-next" @click="slideTo(item.url)">
<img :src="item.imgHref" />
</div>
</div>
<div class="swiper-pagination"></div>
</div>
</template> <script>
import Swiper from 'swiper' export default {
props: [ 'swiperId', 'swiperD' ],
data () {
return { }
},
mounted () {
this.sw()
},
methods: {
sw () {
let that = this
// eslint-disable-next-line
let lunbo = new Swiper('#' + that.swiperId, {
pagination: '.swiper-pagination',
paginationClickable: true,
longSwiperRatios: 0.3,
setWrapperSize: true,
autoplay: 3000,
autoplayDisableOnInteraction: false,
loop: true
})
},
slideTo (url) {
console.log(url, window)
window.location.href = url
}
}
}
</script> <style>
@import url(./swiper.min.css);
.swiper-container{
padding-top:2.45rem;
min-height:150px;
}
.swiper-slide{
width:100%
}
.swiper-slide img{
width:100%;
display: block;
}
</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块钱一份,需要的来)

vue轮播组件及去掉路由#的更多相关文章

  1. vue中引入awesomeswiper的方法以及编写轮播组件

    1.先安装less-loader npm install less less-loader --save 2.再安装css-loader npm install css-loader --save 3 ...

  2. vue-awesome-swipe 基于vue使用的轮播组件 使用(改)

    npm install vue-awesome-swiper --save  //基于vue使用的轮播组件 <template> <swiper :options="swi ...

  3. vue 3d轮播组件 vue-carousel-3d

    开发可视化项目时,需要3d轮播图,找来找去发现这个组件,引用简单,最后实现效果还不错.发现关于这个组件,能搜到的教程不多,就分享一下我的经验. 插件github地址:https://wlada.git ...

  4. 基于移动端Reactive Native轮播组件的应用与开发详解

    总结下这段时间学习reactive native的一些东西,我们来认识一下,被炒得这么火的rn,究竟是个什么东西,以及如何去搭建自己的demo. reactive  native是什么 由facebo ...

  5. 移动端Reactive Native轮播组件

    移动端Reactive Native轮播组件 总结下这段时间学习reactive native的一些东西,我们来认识一下,被炒得这么火的rn,究竟是个什么东西,以及如何去搭建自己的demo. reac ...

  6. C-Swipe Mobile 一个适用于Vue2.x的移动端轮播组件

    近期在做的一个Vue2项目里需要一个可以滑动的轮播组件,但是又因为现有的传统轮播库功能过于繁琐和笨重.因此自己写了一个针对于Vue2.x的轻型轮播组件. 项目GitHub链接:C-Swipe Mobi ...

  7. vue轮播(完整详细版)

    轮播组件vue <swiper :options="swiperOption" class='swiper-box'>     <swiper-slide v-f ...

  8. 一分钟搞定AlloyTouch图片轮播组件

    轮播图也涉及到触摸和触摸反馈,同时,AlloyTouch可以把惯性运动打开或者关闭,并且设置min和max为运动区域,超出会自动回弹. 除了一般的竖向滚动,AlloyTouch也可以支持横向滚动,甚至 ...

  9. bootstrap轮播组件,大屏幕图片居中效果

    在慕课网学习bootstrap轮播组件的时候,了解到轮播的图片都放在了类名为item下的img中 视频中老师对图片自适应采用给图片img设置width=100%完成,然而这样自适应处理图片在不同屏幕中 ...

随机推荐

  1. ContextLoaderListener加载过程

    在web.xml中,配置ContextLoaderListener <!-- 配置Listener,用来创建Spring容器 --> <listener> <listen ...

  2. ElasticSearch安装中遇到的一些问题

    前段时间部署ElasticSearch,现把安装中遇到的一些问题和注意细节与大家分享一下. 系统:CentOS7.2 0.安装JDK 8,配置环境变量 官网下载地址:http://www.oracle ...

  3. Windows下为Lua脚本进行加密处理

    缘由 想对Lua脚本进行安全性处理,可惜一直没有想到很好的解决方案,考虑过用原生Lua将脚本编译成二进制代码,也考虑过用zlib将文件进行加密压缩处理,但是感觉都不是最佳方案,今天忽然想到有个东西叫L ...

  4. WebSocket就是这么简单

    前言 今天在慕课网上看到了Java的新教程(Netty入门之WebSocket初体验):https://www.imooc.com/learn/941 WebSocket我是听得很多,没有真正使用过的 ...

  5. python学习:Dmidecode系统信息(一)

    #!/usr/bin/env python   from subprocess import Popen, PIPE   p = Popen(['dmidecode'], stdout=PIPE) d ...

  6. mysql中的coalesce用法

    在mysql中,其实有不少方法和函数是很有用的,这次介绍一个叫coalesce的,拼写十分麻烦,但其实作用是将返回传入的参数中第一个非null的值,比如    SELECT COALESCE(NULL ...

  7. NOIP2017滚粗记

    NOIP2017滚粗记 扯淡 考完联赛后一直在搞文化... 联赛过去了不知道多少天了才来写这东西.... Day0 早自习知道了要期中考试. 感觉心态炸裂了. 上午在乱敲板子.... 打了一堆莫名其妙 ...

  8. 微信小程序 sha1 实现密码加密

    在utils中的util.js 文件中增加 函数 实现 字符串转换为16进制加密后的字符串 function encodeUTF8(s) { var i, r = [], c, x; for (i = ...

  9. wired-wireless_priority

    有线网卡和无线网卡同时上网,优先级切换的设置方法 默认有线网卡优先权高 Q:如果你想改为无线高,How do? A: ①进入网络属性的有线网卡的连接属性,选择TCP/IP属性,点"高级... ...

  10. mongodb 配置均衡器的运行窗口

    当系统的数据量增长不是太快的时候,考虑到数据迁移会降低系统性能,可以配置均衡器在只在特定时间段运行.详细的配置步骤如下: 连接到任意的mongos服务器,并通过安全认证(如果有认证的话). 切换到co ...