Vue Router去掉url中默认的锚点#
hash模式url
vue-router默认hash模式——使用URL的hash来模拟一个完整的URL,于是当URL改变时,页面不会重新加载。
如果不想要这种默认的hash模式,可以用路由的history模式,这种模式充分的利用history.pushState API来完成URL跳转而无需重新加载页面。
index.js
Vue.use(Router) export default new Router({ mode: 'history', routes: [ { path:"/xxx", name:"xxx", component: Xxx, } ] })
history模式
修改之后url就变成了正常的url
总结
以上所述是小编给大家介绍的Vue Router去掉url中默认的锚点#,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
页面内锚点定位及跳转方法总结(推荐)
接着上一篇,其实是一个功能,本来感觉挺简单的一个问题,没想到遇到两个坎儿,无语... 上一篇是关于scroll事件绑定的问题,这一篇的问题是:点击锚点跳转到相应DIV的问题. 最简单的方法是锚点用<a>标签,在href属性中写入DIV的id.如下: <!DOCTYPE html> <html> <head> <style> div { height: 800px; width: 400px; border: 2px solid black; }
-
基于vue监听滚动事件实现锚点链接平滑滚动的方法
基于vue监听滚动事件,实现锚点链接平滑滚动 近日在做一个vue项目的餐饮模块,小编需要实现一个菜单列表显示的功能(如图所示:左边为菜单类别,右边显示相对应的菜品) 小编将此分为三个功能模块来实现(本来一张动画就清晰明了,小编太笨,只得口述一下): 1.左边点击类别,右边显示相应类别的菜品列表(平滑滚动) 2.滚动右边的滚动条,左边对应的显示当前样式 3.若从别的页面点击菜品进来该页面,则该菜品为指定效果 小编也是vue的初学者,在阅读了大量的文章后,其中借鉴http://www.jb51.ne
-
Vue.js实战之通过监听滚动事件实现动态锚点
前言 前几天工作中在做项目的时候,需要实现一个动态锚点的效果,具体效果如下: 如果是传统项目,这个效果就非常简单.但是放到 Vue 中,就有两大难题: 1. 在没有 jQuery 的 animate() 方法的情况下,如何实现平滑滚动? 2. 如何监听页面滚动事件? 在浏览了大量文章.进行多次尝试之后,终于解决了这些问题 期间主要涉及到了 setTimeout 的递归用法,和 Vue 生命周期中的 mounted 一.锚点实现 在实现平滑滚动之前,得先确保基本的锚点功能 如果没有其他要求,直接用
-
vue2.0模拟锚点的实例
在vue项目中,因为采用路由跳转,会导致无法使用常规的a标签配合ID的锚点功能. 解决办法: <a href="javascript:void(0)" rel="external nofollow" @click="goAnchor('#anchor')"> 灰啊灰啊我的骄傲放纵</a> methods: { goAnchor(selector) { var anchor = this.$el.querySelector(
-
vue中锚点的三种方法
第一种: router.js中添加 mode: 'history', srcollBehavior(to,from,savedPosition){ if(to.hash){ return { selector:to.hash } } } 组件: <template> <div> <ul class="list"> <li><a href="#1" rel="external nofollow"
-
Vue Router去掉url中默认的锚点#
hash模式url vue-router默认hash模式--使用URL的hash来模拟一个完整的URL,于是当URL改变时,页面不会重新加载. 如果不想要这种默认的hash模式,可以用路由的history模式,这种模式充分的利用history.pushState API来完成URL跳转而无需重新加载页面. index.js Vue.use(Router) export default new Router({ mode: 'history', routes: [ { path:"/xxx&quo
-
vue项目如何去掉URL中#符号的方法
目录 前言 正常解决步骤 1. 设置路由mode 2. 配置服务端nginx 可能碰到的问题 1. 静态资源Uncaught SyntaxError: Unexpected token < 问题 2. api接口请求404问题 3. 开发环境(npm run dev启动)刷新404的问题 4. 前端路由与服务端接口路由冲突问题 结尾 前言 最近,同事跟我说,项目的访问路径里的/#/挺不美观的,就下手尝试去掉,本以为就是一句代码搞定的事情,结果遇到不少问题. 现在把我遇到的情况记录下来,做个存档,
-
vue.js路由mode配置之去掉url上默认的#方法
比如 : http://localhost:8080/#/login 路由中间默认带有 # 如果需要去掉#,只需将mode的默认值'hash'改为'history'即可. router.js : import Router from 'vue-router' import routers from './routers' export default () => { return new Router({ routers, mode: 'history' // 加上这个配置项,url默认的 #
-
Vue项目获取url中的参数(亲测可用)
目录 情况一:内部页面之间互相传值 情况二:外部跳转VUE项目时自带参数 1 获取?后面的参数 2 获取不带?的URL中的参数 亲测可用,若有疑问请私信 获取url参数有两种情况: 情况一:内部页面之间互相传值 这里先讲情况一,因为同一项目内互相传值比较简单,假如要从A页面跳转到B页面,并传值.就要在A页面这么写 this.$router.push({name:"B",query:{ Id : this.tId , ... }}) 进入B页面之后,在B页面内这么写 this.Id =
-
laravel框架实现去掉URL中index.php的方法
1.将框架根目录下的server.php文件重命名为index.php 2.将框架根目录下的文件夹public下的.htaccess文件复制到框架根目录下,与index.php处于同一目录 3.修改Apache的httpd.conf文件 1.httpd.conf文件所在路径\bin\apache\apache2.4.23\conf\httpd.conf,例如,我的电脑中httpd.conf路径为:D:\wamp\bin\apache\apache2.4.23\conf\httpd.conf 找到
-
VUE : vue-cli中去掉路由中的井号#操作
vue-cli项目中,如果想去掉url地址栏中的"#"我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面. 只需要在路由表中,加入一行代码即可. 补充知识:vue 打包部署去掉#注意事项 示例基于vue cli2.0脚手架生成的项目 1.vue项目中config文件下index.js中打包配置: build: { // Template for index.html index: path.res
-
Angular.JS去掉访问路径URL中的#号详解
本文目录 URL的#号问题 找到错误原因 静态网站的解决方案 动态网站的解决方案 一. URL的#号问题 使用AngularJS的朋友都应该了解,AngularJS框架定义了自己的前端路由控制器,通过不同URL实现单面(ng-app)对视图(ng-view)的部署刷新,并支持HTML5的历史记录功能,详细介绍可以参考文章:AngularJS路由和模板. 对于默认的情况,是不启动HTML5模式的,URL中会包括一个#号,用来区别是AngularJS管理的路径还是WebServer管理的路径. 比如
-
解析如何去掉CodeIgniter URL中的index.php
CI默认的rewrite url中是类似这样的,例如你的CI根目录是在/CodeIgniter/下,你的下面的二级url就类似这样http://localhost/CodeIgniter/index.php/welcome.不太好看,怎么把其中的index.php取掉呢?1. 打开apache的配置文件,conf/httpd.conf :LoadModule rewrite_module modules/mod_rewrite.so,把该行前的#去掉.搜索 AllowOverride None(
-
vue不通过路由直接获取url中参数的方法示例
前言 众所周知vue中使用路由的方式设置url参数,但是这种方式必须要在路径中附带参数,而且这个参数是需要在vue的路由中提前设置好的. 相对来说,在某些情况下直接在url后面拼接?mid=100的方式传递参数更灵活,你不需要设置路由,只需要在url后拼接参数即可,但是这种方式就需要通过javascript获取并提取url中的参数,通过传统的方式直接在页面中获取是行不通的了,因为vue中是无法通过location.search()来获取url问号之后的内容的. 当然,这个问题也有解决方法,就是把
-
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
#在切换路由时,组件会被复用,不过,这也意味着组件的生命周期钩子不会再被调用. 解决办法有两种,1简单地 watch (监测变化) $route 对象: const User = { template: '...', watch: { '$route' (to, from) { // 对路由变化作出响应... } } } 2.使用 2.2 中引入的 beforeRouteUpdate 导航守卫: const User = { template: '...', beforeRouteUpdate
随机推荐
- ASP错误捕获的几种常规处理方式
- Base64 编码介绍、Base64编码转换原理与算法
- VBS基础编程教程 (第3篇)
- js实现a标签超链接提交form表单的方法
- jQuery支持动态参数将函数绑定到事件上的方法
- 读jQuery之十 事件模块概述
- QQ好友列表树形列表java代码实现代码
- php数据序列化测试实例详解
- python绘图库Matplotlib的安装
- C#委托所蕴含的函数指针概念详细解析
- js基本算法:冒泡排序,二分查找的简单实例
- php实现网站留言板功能
- SQLserver删除某数据库中所有表实现思路
- Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
- jQuery技巧大放送 学习jquery的朋友可以看下
- 详解IIS中URL重写工具的匹配URL-规则模式(rule patterns)
- react-router browserHistory刷新页面404问题解决方法
- Java正则环视和反向引用功能与用法详解
- Lua一维数组与多维数组的使用示例
- JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例