vue router区别,什么是vue-router

  vue router区别,什么是vue-router

  本文主要介绍vue中$router和$route的区别。对vue感兴趣的同学一定要看看。

  我们通常在vue项目中使用路由,vue-router是vue.js的官方路由管理器

  这个。$route:当前活动路线的信息对象。每个对象都是本地的,可以获得当前路径的属性,如路径、名称、参数、查询等。

  这个。$router:一个全局路由器实例。路由器实例注入到vue的根实例中,再注入到各个子组件中,这样整个应用就有了路由功能。它包含了很多属性和对象(比如历史对象),任何页面都可以调用它的push()、replace()、go()等方法。

  用过vue的童鞋都知道路由跳转分为编程式和声明式。

  声明类型:

  简单地说,router-link组件用于导航,链接是通过传入to属性来指定的(router-link将默认呈现为A标记)。

  当需要在一个页面中嵌套子路由而页面不跳转时,这个方法应该不会太好用。哈哈哈.只需在路由器视图中呈现子页面。

  编程公式:

  这样就需要导入VueRouter并调用它。

  然后我就说说vue-router的使用方法(以下是程序化的方式):

  1.定义两个单。路由跳的vue组件:home.vue和user.vue;

  2.导入vue、vue路由器和定义路由。每个路由都包含一个组件属性,该属性映射一个组件- router.js

  从“vue”导入Vue

  从“vue路由器”导入路由器

  从导入主页。/home.vue

  从导入用户。/user.vue

  Vue.use(路由器);

  3.创建一个路由器实例,并传递路由器配置- router.js

  常量路由=[

  { path:“/Home”,组件:Home },

  {路径:“/用户”,组件:用户}

  ]

  常量路由器=新路由器({

  路线

  })

  4.将该路由注入到vue的根实例中,这样就可以在任何其他组件——main . js中访问该路由

  从导入路由器。/路由器

  新Vue({

  路由器,

  render: h=h(App)

  }).$ mount(“# app”)

  这就是所有的步骤。

  好了,我们的猪脚开始出现了!~ *在上面的用户和家庭组件中有两种方法可以访问路线:这个。$路由器和这个。$route。两种方法大致相同,但还是有区别的。(如下所示)

  你可以看到这个。$route显示当前活动路线的信息对象。这个对象是本地的,可以获取路径、名称、参数、查询等属性。目前路线的,这里就不赘述了。

  其中$route.matched是包含当前路线的所有嵌套记录的数组,即路线配置中的对象数组,包括它们自己的信息和子数据。例如,我的路线配置为:

  const router=new VueRouter({

  路线:[

  //下面的对象是路由记录

  {

  路径:“/taskList”,

  组件:任务列表,

  名称:“任务列表”,

  儿童:[

  {

  路径:“/taskDetail”,

  组件:任务详细信息,

  名称:“任务详细信息”

  }

  ]

  }

  ]

  })

  在此得到匹配的展开结果。$路线如下:

  比如导航卫士用于登录功能时,如果需要检查meta来确定是否需要登录,可以通过遍历$ route.matched来检查路由记录中的meta字段。

  此外,在vue实例中,您还可以通过这个访问路由实例。$router,这是一个全局路由实例。路由器实例注入到vue的根实例中,再注入到各个子组件中,这样整个应用就有了路由功能。打印这个。$router在任何子组件中,以获得以下内容:

  它包含了很多属性和对象(比如历史对象),任何页面都可以调用它的push()、replace()、go()等方法。

  push()方法将向历史记录中添加一条记录。当您单击浏览器的后退按钮时,可以返回到上一页。当我们点击路由器链接到= ./,相当于调用这个。$router.push()。

  这个的参数。$router.push()方法可以是字符串路径或地址对象,例如:

  这个。$router.push(home )这个。$router.push({path: home})

  您也可以携带参数,但是注意:如果提供了path,参数将被忽略,例如:

  这个。$ router.push ({path: home ,params: {page: 2}})此处的参数将被忽略。

  同样的规则也适用于router-link的to属性。

  您可以使用以下方法:

  这个。$ router . push({ path:`/home/$ { page=2 } ` `})

  这个。$router.push({name: home ,params: { page: 2}})

  这个。$router.push({path: home ,query: { page: 2}})

  这些方法获取参数的方式。$ route.params.page/this. $ route . query . page

  这就是vue中$router和$route区别的细节。更多关于vue的信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: