0
点赞
收藏
分享

微信扫一扫

Vue3 憨憨都能看明白的Vue3路由

幸福的无所谓 2022-03-11 阅读 60

Vue3 路由

  1. Vue 路由允许我们通过不同的 URL 访问不同的内容 。
  2. 通过 Vue 可以实现多视图的单页 Web 应用(single page web application,SPA)。
  3. Vue.js 路由需要载入 vue-router 库 。

安装

  1. 直接下载/CDN
  1. NPM

简单实例

Vue.js + vue-router 可以很简单的实现单页应用。

是一个组件,该组件用于设置一个导航链接,切换不同 HTML 内容。 to 属性为目标地址, 即要显示的内容。

以下实例中我们将 vue-router 加进来,然后配置组件和路由映射,再告诉 vue-router 在哪里渲染它们。代码如下所示:

<script src="https://unpkg.com/vue@3"></script>
<script src="https://unpkg.com/vue-router@4"></script>
 
<div id="app">
  <h1>Hello App!</h1>
  <p>
    <!--使用 router-link 组件进行导航 -->
    <!--通过传递 `to` 来指定链接 -->
    <!--`<router-link>` 将呈现一个带有正确 `href` 属性的 `<a>` 标签-->
    <router-link to="/">Go to Home</router-link>
    <router-link to="/about">Go to About</router-link>
  </p>
  <!-- 路由出口 -->
  <!-- 路由匹配到的组件将渲染在这里 -->
  <router-view></router-view>
</div>

router-link
请注意,我们没有使用常规的 a 标签,而是使用一个自定义组件 router-link 来创建链接。这使得 Vue Router 可以在不重新加载页面的情况下更改 URL,处理 URL 的生成以及编码。我们将在后面看到如何从这些功能中获益。
router-view
router-view 将显示与 url 对应的组件。你可以把它放在任何地方,以适应你的布局。
点击过的导航链接都会加上样式 class =“router-link-exact-active router-link-active”

<router-link> 相关属性

  1. to
    表示目标路由的链接。 当被点击后,内部会立刻把 to 的值传到 router.push(),所以这个值可以是一个字符串或者是描述目标位置的对象。
  1. replace
    设置 replace 属性的话,当点击时,会调用 router.replace() 而不是 router.push(),导航后不会留下 history 记录。
  1. append
    设置 append 属性后,则在当前 (相对) 路径前添加其路径。例如,我们从 /a 导航到一个相对路径 b,如果没有配置 append,则路径为 /b,如果配了,则为 /a/b
  1. tag
    有时候想要 渲染成某种标签,例如
  2. 。 于是我们使用 tag prop 类指定何种标签,同样它还是会监听点击,触发导航。
  1. active-class
    设置 链接激活时使用的 CSS 类名。可以通过以下代码来替代。注意这里 class 使用 active-class="_active"
  1. exact-active-class
    配置当链接被精确匹配的时候应该激活的 class。可以通过以下代码来替代。
  1. event
    声明可以用来触发导航的事件。可以是一个字符串或是一个包含字符串的数组。

以上代码设置了 event 为 mouseover ,及在鼠标移动到 Router Link 1 上时导航的 HTML 内容会发生改变。

举报

相关推荐

0 条评论