vue中的锚链接跳转问题

一、在vue中的锚链接和普通的html不同关于vue中的锚链接可以参考vue中的  scrollBehavior 滚动行为。在router.js中 constrouter=newVueRouter({   routes,      mode:'history',      scrollBehavior(to,from,savedPosition){        if(to.hash){          return{            selector:to.hash          }        }      }})exportdefaultrouter;在vue中 点击跳转的位置使用<a>链接包起来<div><ahref="#populationInformation">人口画像</a></div><div><ahref="#peopleCounting">人流统计</a></div><div><...

vue中怎样实现 路由拦截器

在我们需要实现这样一个功能,登录拦截其实就是路由拦截,首先在定义路由的时候就需要多添加一个自定义字段requireAuth,用于判断该路由的访问是否需要登录。如果用户已经登录,则顺利进入路由,否则就进入登录页面。在路由管理页面添加meta字段router/index.js文件,例如,在用户直接跳转/manage路径下的时候,实现路由拦截{path:'/manage',name:'manage',component:manage,meta:{requireAuth:true}},我们需要在main.js中加上router.beforeEach((to,from,next)=>{console.log(to);console.log(from);if(to.meta.requireAuth){//判断该路由是否需要登录权限if(localStorage.getItem('access_token')){//判断本地是否存在access_tokennext();}else{      next({        path:'login',        query:{         ...

Vue生命周期和考点

生命周期的三个阶段:挂载阶段(1~4)、更新阶段(5~6)、销毁阶段(7~8);beforeCreatecreatebeforeMountmountedbeforeUpdateupdatedbeforeDestroydestroyed考点:1、create和mounted区别beforecreated:el和data并未初始化created:完成了data数据的初始化,el没有beforeMount:完成了el和data初始化mounted:完成挂载总结:creat是吧vue实例初始化,但是并没有渲染,mounted是真正页面渲染了2、beforeDestory都做什么解除绑定、销毁子组件以及事件监听器 二、父子组件,生命周期  用create和mountedupdated说明1、初始化,创建实例是从父组件到子组件,渲染是从子组件到父组件  父created=>子created=>子mounted=>父mounted2、数据更新  父beforeUpdate=>子beforeUpdate=>子updated=>父updatedbeforec...
代码星球 代码星球·2020-04-02

Vue如何使用vue-area-linkage实现地址三级联动效果

很多时候我们需要使用地址三级联动,即省市区三级联动。网上有很多插件,在此介绍Vue的一款地区联动插件:vue-area-linkage,下面介绍如何使用这个插件实现地址联动效果:一、安装//v5之前的版本npmi--savevue-area-linkage//v5及之后的版本npmi--savevue-area-linkagearea-dataoryarn//v5之前的版本yarnaddvue-area-linkage//v5及之后的版本yarnaddvue-area-linkagearea-data  二、在main.js上进行依赖注入importVuefrom'vue';import{pca,pcaa}from'area-data';//v5orhigherimport'vue-area-linkage/dist/index.css';//v2orhigherimportVueAreaLinkagefrom'vue-area-linkage';Vue.use(VueAreaLinkage)三、组件中使用//v5之前的版本<area-selectv-mode...

Vue 爬坑之路—— 使用 Vuex + axios 发送请求

Vue原本有一个官方推荐的ajax插件 vue-resource,但是自从Vue更新到2.0之后,官方就不再更新vue-resource目前主流的Vue项目,都选择 axios 来完成ajax请求,而大型项目都会使用Vuex来管理数据,所以这篇博客将结合两者来发送请求 前言: 使用cnpm安装axioscnpminstallaxios-S安装其他插件的时候,可以直接在main.js中引入并Vue.use(),但是axios并不能use,只能每个需要发送请求的组件中即时引入为了解决这个问题,有两种开发思路,一是在引入axios之后,修改原型链,二是结合Vuex,封装一个aciton。具体的实施请往下看~ 方案一:改写原型链首先在 main.js 中引入axiosimportaxiosfrom'axios'这时候如果在其它的组件中,是无法使用axios命令的。但如果将axios改写为Vue的原型属性,就能解决这个问题Vue.prototype.$ajax=axios在main.js中添加了这两行代码之后,就能直...

vue-awesome-swiper组件的使用

一、轮播图组件是这样安装的npmi--save-devvue-awesome-swipermain.js里面import'swiper/dist/css/swiper.css'importVueAwesomeSwiperfrom'vue-awesome-swiper'Vue.use(VueAwesomeSwiper)banner.vue.切记要在需要引入的页面中import{swiper,swiperSlide}from'vue-awesome-swiper'<template><divclass="swiper-container"><divclass="swiper-wrapper"><swiper:options="swiperOption"ref="mySwiper"><!--幻灯内容--><swiper-slide:key="i"v-for="(str,i)inbannerList"><img:src="str.picUrl"color:#800000;">"height:100%"/><...

vue-router在同一个路由下切换,取不到变化的路由参数

最近用vue写项目的时候碰到一个问题,在同一个页面下跳转,路由地址不变,路由参数有变化,一开始只是在data里取路由的参数,发现根本取不到变化的路由参数。例如:订单列表也跳转详情页,跳转方法如下<router-link:to="{path:'/orderDetail',query:{orderId:scope.row.orderId}}"><el-buttontype="success"size="small">详情</el-button></router-link>第一个跳转没问题,但是返回列表以后,在进入其他的详情页,顶部url的值变化了,但是在详情页中this.routerId=this.$route.query.orderId;这样打印出来值是不发生变化的。解决方案如下:数据初始化是这样的(不变)/***数据初始化*/initDate(){this.routerId=this.$route.query.orderId;加一段代码watch:{'$route'(to,from){this.initDate();}},这样就能解决了...

Vue系列——在vue项目中使用echarts

npminstallecharts-Smain.js//引入echartsimportechartsfrom'echarts'Vue.prototype.$echarts=echartsHello.vue<divid="myChart":color:#800000;">"{width:'300px',height:'300px'}"></div>exportdefault{name:'hello',data(){return{msg:'WelcometoYourVue.jsApp'}},mounted(){this.drawLine();},methods:{drawLine(){//基于准备好的dom,初始化echarts实例letmyChart=this.$echarts.init(document.getElementById('myChart'))//绘制图表myChart.setOption({title:{text:'在Vue中使用echarts'},tooltip:{},xAxis:{data:["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋...

Vue2 封装的 Quill 富文本编辑器组件 Vue-Quill-Editor

1、安装  npminstallvue-quill-editor--save2、使用import{quillEditor}from'vue-quill-editor'  3、组件中<quill-editorv-model="content"ref="myQuillEditor"class="editer":options="editorOption"@ready="onEditorReady($event)"></quill-editor>  data(){return{content:'<h3>文本编辑</h3>',editorOption:{}}},components:{NavHeader,quillEditor,},computed:{editor(){returnthis.$refs.myQuillEditor.quill}},methods:{onEditorReady(editor){console.log('editorready!',editor)},submit(){console.log(this...

Vuex简单实例以及安装遇到的坑

vuex是一个专门为vue.js设计的集中式状态管理架构。状态?我把它理解为在data中的属性需要共享给其他vue组件使用的部分,就叫做状态。简单的说就是data中需要共用的属性。vuex面试考点两张图一句话一句话:vuex中的异步操作只能在actions中,也就是ajax交互请求数据 引入Vuex(前提是已经用Vue脚手架工具构建好项目)1、利用npm包管理工具,进行安装vuex。在控制命令行中输入下边的命令就可以了。npminstallvuex--save2、新建一个store文件夹(这个不是必须的)并在文件夹下新建index.js文件,文件中引入我们的vue和vuex。importVuefrom'vue';importVuexfrom'vuex';3、使用我们vuex,引入之后用Vue.use进行引用。Vue.use(Vuex);通过这三步的操作,vuex就算引用成功了,接下来我们就可以尽情的玩耍了。定义statemutations并抛出conststate={cartCount:{cartNum:0}}constmutations={initCartCount(sta...

初学Vue之数量加减

效果图:HTML:<divclass="count3"><ul><liv-for="(key,idx)inliList":key="key.id">{{key.id}},{{idx}}<template><buttonclass="cut"@click="cuts(idx)">-</button><span>{{key.num}}</span><buttonclass="add"@click="add(idx)">+</button></template></li></ul>总数:{{total}}</div> JS: vartest=newVue({el:".count3",data:{total:0,liList:[{id:0,num:0},{id:1,num:0},{id:2,num:0}]},methods:{cuts:function(idx){if(this.liList[idx].num...
代码星球 代码星球·2020-04-02

vue-3.2-组件的三种定义方式

1.什么是组件:组件的出现,就是为了拆分Vue实例的代码量,能够让我们以不同的组件,来划分不同的功能模块,将来需要什么样的功能,就去调用对应的组件即可;2.模块化:是从代码的角度进行划分的;方便代码分层开发,保证每个模块的职能单一;3.组件化:是从UI界面的角度进行划分的;前端的组件化,方便UI组件的重用!定义组件的三种方式:  第一种:<body><divid="app"><!--如果使用组件,直接把组件的名称,以HTML标签的形式,引入到页面中,即可--><mycom1></mycom1></div><script>//1.1使用Vue.extend来创建全局的Vue组件varcom1=Vue.extend({template:'<h3>这是使用Vue.extend创建的组件</h3>'//通过template属性,指定了组件要展示的HTML结构})//1.2使用Vue.component('组件的名称',创建出来的组件模板对象)//Vue.component('myCom1...

vue-3.1-列表动画

<!DOCTYPEhtml><htmllang="en"xmlns:v-bind="http://www.w3.org/1999/xhtml"xmlns:v-on="http://www.w3.org/1999/xhtml"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-equiv="X-UA-Compatible"content="ie=edge"><title>Document</title><scriptsrc="../lib/vue.min.js"></script><linkrel="stylesheet"href="../lib/bootstrap.min.css"><style>li{border:1pxdashed#999;margin:15px;line-height...
代码星球 代码星球·2020-04-01

vue-2.5-vue-resource的使用-get、post、jsonp发送请求

<!DOCTYPEhtml><htmllang="en"xmlns:v-bind="http://www.w3.org/1999/xhtml"xmlns:v-on="http://www.w3.org/1999/xhtml"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-equiv="X-UA-Compatible"content="ie=edge"><title>Document</title><scriptsrc="../lib/vue.min.js"></script><linkrel="stylesheet"href="../lib/bootstrap.min.css"></head><body><divid="app"><inputtype="b...

vue-2.4-生命周期函数

先看官网的图: <body><divid="app"><inputtype="button"value="修改msg"@click="update"><h3id="h3">{{msg}}</h3></div><script>//创建Vue实例,得到ViewModelvarvm=newVue({el:'#app',data:{msg:'ok'},methods:{show(){console.log('执行了show方法')},update(){this.msg='no'}},beforeCreate(){//第一个生命周期函数,表示实例完全被创建出来之前,会执行它//console.log(this.msg)//this.show()//注意:在beforeCreate生命周期函数执行的时候,data和methods中的数据都还没有被初始化},created(){//第二个生命周期函数//console.log(this.msg)//this.show()//在created中,data和me...
代码星球 代码星球·2020-04-01
首页上一页...151152153154155...下一页尾页