IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue-router -> 正文阅读

[JavaScript知识库]vue-router

重瞳本是无敌路,何须再借他人骨

一、Router

  1. 路由默认情况下是Hash模式, 比如像这种带#的url, http://localhost:8080/#/home 或者 http://localhost:8080/#/about, 我们可以改成为 history模式,修改如下:(只需要在创建Router的时候给他传入一个模式)
    	const router =  new VueRouter({
    		routes,
            mode: "history"	
        })
    注:这样,就变成了HTML5的history模式了。   http://localhost:8080/home
    
  2. < router-link> 会被渲染为 < a> 标签。

1)、tag属性
    <router-link to="/home" tag="button"></router-link>
    默认是显示为 <a>标签,如果加上 tag属性,就会显示为按钮。
    
2)、replace属性
    点击浏览器 返回按钮 是不会来回返回的。内部使用的是history.resplaceState方法。并不是history.pushstate()
    <router-link to="/home" tag="button"></router-link>
    <router-link to="/about" tag="button"></router-link>

3)、active-class属性
	<router-link to="/home" tag="button" active-class="active" ></router-link>
	<style>
        .active {
            color :#f00;
        }
	</style>

4、路由的跳转: 
	通过代码的修改路径,不建议使用history.pushstate(),因为这样是绕过来vue-router了,我们可以使用	
	this.$router.push('/home'),点击浏览器 返回按钮  可以返回
    this.$router.replace('/home'),点击浏览器 返回按钮  不可以返回
  1. 动态路由

    1)、属性中怎么绑定data里面的数据?
    	{
            path: 'user/:userId',
            component: User
        }
    	<router-link to="/user" >用户</router-link>是无法绑定的,我们应该使用v-bind, 如下:
    	<router-link :to="'/user/' + userId" >用户</router-link>
    	
    2)this.$route拿到浏览器 当前活跃的路由, route就是那个活跃的路由
        this.$route.params.userId拿到浏览器/user/后面的参数,比如 http://localhost:8080/user/zhangsan, 拿到的就是zhangsan。可以通过计算属性实现:
    	computed: {
            userId(){
    			return this.$route.params.userId
            }
        }
    
  2. 路由的懒加载

    1)、打包构建应用,js包很大,影响页面加载,因为一次性请求下来这个页面,会出现短暂的空白。将js分成了三部分: 业务开发的代码(代码最多)、底层支撑的代码、第三方库的代码等。
    
    2)、一个路由,一个组件,一个js文件,打包的时候。路由懒加载的作用就是将路由对应的组件打包成一个个的js代码块,只有这个路由被访问的时候,才加载对应的组件。
    
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-09VtmnG1-1635169865560)(C:\Users\cfb\AppData\Roaming\Typora\typora-user-images\image-20211024173730377.png)]

    懒加载的方式:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o7juveLa-1635169865563)(C:\Users\cfb\AppData\Roaming\Typora\typora-user-images\image-20211024174258132.png)]

    代码改动如下:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZES8wNUi-1635169865565)(C:\Users\cfb\AppData\Roaming\Typora\typora-user-images\image-20211024174346522.png)]

  3. vue-router参数传递 : params方式 和 query方式

    1)params的类型:
    	配置路由格式:/router/:id
        传递的方式:在path后面跟上对应的值
        传递后形成的路径: /router/123, /router/abc
        
    2)query的类型:
    	配置路由格式: /router,也就是普通配置
    	传递的方式:对象中使用query的key作为传递方式, 比如:
            <router-link :to="{path:'/user', query:{name:'why', age:134}}" >档案</router-link>
        传递后形成的路径: /router?id=123, /router?id=abc
    	取出query,使用 <h1>{{ $route.query.name }}</h1>
    3)URL:
    	协议://主机:端口/路径?查询
        scheme://host:port/path?query#fragment
    
    4)this.$router 跟 this.$route, 就是在vue的原型上加的。所有的组件都继承着vue类的原型。
    	vue.prototype.test = function(){
            console.log("test")
        }	//这个方法其他组件就可以调用: this.test()
    	
    
    
    
    
    
    
    
    
    
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-26 12:07:25  更:2021-10-26 12:08:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:15:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码