Vue路由

  • Vue路由已关闭评论
  • 257 次浏览
  • A+
所属分类:Web前端
摘要

单页应用程序(SPA):通过路由系统把组件串联起来并且只有一个html页面d的程序。

单页应用程序(SPA):通过路由系统把组件串联起来并且只有一个html页面d的程序。

多页面应用程序(MPA):整个应用程序中有多个html页面。

hash路由和history路由的区别

hash路由有#。背后是监听onhashchange事件实现的,hash路由部署上线不会出现404.

history路由没有#,背后是基于history api实现的,histo路由部署上线会出现404问题.

<router-view>和<router-link>(全局组件)

<router-view>视图容器:name属性用于指定命令视图。

<router-link>用于设计菜单导航:to属性用于指定跳转的目标,tag属性用于指定渲染什么标签,默认渲染a标签,active-class/exact-active-class用于指定菜单的高亮样式。

$route和$router(内置API)

$route路由信息:this.$route.fullPath/query/params/meta(watch可以监听$route的变化)

$router路由实例:用于路由跳转,this.$router.push()向前跳转,this.$router.replace()向前跳转,this.$router.back()返回上一次。

 

声明式跳转和编程式跳转

声明式跳转:就是使用<router-link>跳转,一般用于菜单设计。

编程式跳转:就是使用$router跳转,一般用于事件中。

命名视图和命名路由

命名视图是给<router-view>加一个name属性。

命名路由是给{path,component}路由规则取个名字。

query传参和动态路由传参

query传参:在跳转路由的url后面用?a=1&b=2这种方式传参,在另一个组件中使用this.$router.query接收。

动态路由传参:像这样`{path:'/good/:id',component}`定义路由规则,在这条路由规则中使用this.$route.params接收或者开启props:true使用props选项来接收。