找回密码
 请使用中文注册

手机号码,快捷登录

手机号码,快捷登录

vue路由使用

2023-5-1 07:47| 发布者: 开心| 查看: 67| 评论: 0

阅读字号:

摘要: 路由器是网络连接的基础,如果您想让您的网络连接更加畅通无阻,本文vue路由使用将为您提供实用的路由器指南和使用技巧。本文内容目录一览:1、Vue路由属性的使用2、Vue路由的使用3、vue 动态路由/ ...
    路由器是网络连接的基础,如果您想让您的网络连接更加畅通无阻,本文vue路由使用将为您提供实用的路由器指南和使用技巧。本文内容目录一览:1、Vue路由属性的使用2、Vue路由的使用3、vue 动态路由/路由权限 解决方案4、vue路由(一、二级路由)5、vue中路由模式及区别Vue路由属性的使用
router-link 组件支持用户在具有路由功能的应用中 (点击) 导航。 通过 to 属性指定目标地址,默没敬认渲染成带有正确链接的 枯察慎a 标签,可以通过配置 tag 属没丛性生成别的标签.。另外,当目标路由成功激活时,链接元素自动设置一个表示激活的 CSS 类名。
以下两种实现方式得到的效果一样
 一、
  a href="#/login"登陆/a
 a href="#/register"注册/a 
 二、
 router-link to="/login"登陆/router-link
  router-link to="/register"注册/router-link
router-link默认渲染为一个a标签
 假如我们想把router-link渲染成其他标签,可修改其属性tag,如:
 router-link to="/login" tag=“span”登陆/router-link
  router-link to="/register"注册/router-link

Vue路由的使用
路由允许我们通过不同的URL去访问不同的内容,该URL可以是我们自己设置的,在项目中并没有这样的文件夹,这种功能就是路由
 路由的本质是hash值
 定:定义路由组件
 配:配置路由
 实:实例化路由
 挂:挂载路由
 路由(vue-router)的基本作用就是将每个路径映射到对应的组件,通过修改路由进行组件之间的转换
 常规路径规则为在当前路径后面加上"/path",path即为设定的前端路由路径
    跳转到上一次的页面:this.$router.go(-1);
    指定跳桐迅转的地址:this.$router.replace("/path");
    指定跳转的路由名字下:this.$router.replace({name:"menuLink"});
    通过push进行跳转:this.$router.push("/path");
    或this.$router.push({name:"path"});
   (1)设置一个默认展示组件,(不推荐!!!哪清)
         {path:"/",component:login}
      (2) 路由redirect重定向,设置默认组件
         {path:"/",redirect:"login"}
    (1)创建一个路由对象,当导入vue-router包之后,在window全局对象之中就有一个路由的构造函数VueRouter
    (2)在new路由对象的时候可以传递一个配置对象李轮前,这个配置对象的route表示路由器的匹配规则
    (3)每个路由规则都是一个对象,这个规则对象身上必须有两个属性
         属性1:path表示监听那个路由的链接地址
  属性2:component表示如果路由是前面匹配到的path,则展示component属性对应的组件,
         component属性值必须是一个组件模板对象,不能是组件的引用名称
    (4)router:routerObj将路由规则对象,注册到VM实例上,用来监听URL地址的变化,然后展示对应的组件
    (5)使用vue官方提供的router-link元素使用它,默认渲染成一个a标签,router-link to="login"登录/router-link
    (6)在控制的div中(App.Vue)使用router-view/router-viewvue 动态路由/路由权限 解决方案
  路由权限思路: 
  1.菜单栏/导航栏(一级权限) 
   在登录成功后,获取后端的权限数据, 根据铅扮权限数据,展示对应的路由导航或菜单即可;
  2.界面的控制 
   如果用户没有登录, 用户手动在地址栏输入路由地址,则需要跳转到登录界面.
   如果用户已经登录,  用户手动输入的非权限内的路由地址,则给他跳转到404界面.
  3.按钮的搭游控制(二级权限) 
   在页面中,有些账号有: 添加,删除,修改,增加等权限, 有些没有.
   没有权限的账号在这个页面只是可以浏览页面中的数据,需要对这些按钮 禁用or隐藏。
  4.请求和响应的控制      (这一步其实后端也会根据token判断身份信息, 来返回数据,可以省略)
   如果用户通过非常规的手段(可能是同行), 比如通过浏览器f12将禁用的按钮disabled  改成false, 隐藏的按钮apacity:0改成了1,这些按钮就可以使用了,此时需要对按钮点击后发出的请求作出拦截.
  login.vue 
  home.vue (elment-ui) 
   侧边导航栏
  store.js 
  router.js 
  动态路需知激销两个地方调用: 
    1 login.vue 中登录成功后立即执行动态路由函数 
    2 app.vue中, 在根组件中添加执行动态路由函数,这样每一次用户刷新,就会执行,否则刷新之后,动态路由就没了 
  思路3:按钮的控制(二级权限): 这里我是通过 自定义指令来实现 对按钮(增,删,改等二级权限按钮) 的显示隐藏。 
    更简单直接的方式,直接就在html中对button添加v-if显示隐藏即可 
    import './utils/permission.js' -- main.js中引入文件, 嫌麻烦直接在main.js中写 
  4 服务器返回状态码401, 代表token超时 or token被串改 or 未传token, 此时强制跳转到登录页重新登录 vue路由(一、二级路由)
 是前台为了者吵实现单页面应用然后设置路径,根据不同的路径显示不同页面。但是这些路径在服务器上不是真是存在的
 hash路由   默认的是hash路由
   history路由
 通过onhashchange()来检测路由的变化,根据不同的hash来显示不同元素。获取当前的hash值location.hash
 通过onpopstate来检测history堆栈路径的变化,堆栈的路径是通过history.pushState(null, '',"?page=2")添加进去的
 由hash路由设置成history路由,给路由添加配置项 mode="history"
 1、设置相应组件
   2、在router-index.js文件中添加配置
   首先引入组件,然后配置规则 {path:设置路径,name:名,component:组件}
 3、在需要现在组件的地方给页面添加router-view/router-view
 4、设置导航路径
   使用vue提供 router-link to="路径"/router-link 默认的解析成a标签
 5、设置默认路由
 6、设置导航样式
 1、需要定义组件
   2、确晌庆定好在那个组件配置二级路由,就去那个组件的配置规则中添加children关键字,按照一级路由的配置方法配置规则
 3、在需要配置二级路由的组件中添加router-view
   4、设置导航   router-link to="/ / "
 5、设置导航链接的样式
 我们可以定义一个一级路由,里面可以包裹底部footer组件,让他宴嫌握为二级路由,这时点击底部的二级路由时,就会切换不同的页面,而不需要底部组件显示的时候,那我们在配置一个一级路由就好了!!!vue中路由模式及区别
路由模式默认三种
  1.Hash: 使则察用URL的hash值来作为路由。支持所有浏览器。
  2.History: 以来HTML5 History API 和服务器配置。参考官网中HTML5 History模式
  3.Abstract: 支持所有javascript运行模式。如果发现没有浏览器的API,路由会自动强制进入这个模式。
 Hash和History两种路由模式的区别
    最明显的区别就是在地址栏中的#号,history模式下#会消失,hash不会。
 相同点:
     1.当URL改变时,页面不会重新加载;
     2.都受页面导航回退前进等影响; 
 不同点:
     1.hash模式背后的原孙塌茄理是onhashchange事件,可以在window对象上监听事件。
     2.如果后台没有做相应配置,history页面会在再次刷新的时候,报404;hash则不会出现404报错 
     3.当改变url时,hash不会请求服务器,history会请求服务器。
 当使用vue路衫漏由模式history时,进行刷新报错404,解决办法?
     1.与后端配合,再刷新时返回首页
     2.在Vue应用里面写出一个覆盖全局的方法和一个404页面。
原文链接:
路由器和WIFI设置需要小心操作和谨慎处理,因为错误的设置可能会导致您的网络运行不稳定或者面临安全问题。

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|手机版|家电维修论坛 ( 蜀ICP备19011473号-4 川公网安备51102502000164号 )

GMT+8, 2025-5-29 09:07 , Processed in 0.119483 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部