vue-router 的属性

<router-link> 组件支持用户在具有路由功能的应用中(点击)导航。 通过 to 属性指定目标地址,默认渲染成带有正确链接的 <a> 标签,可以通过配置 tag 属性生成别的标签.。另外,当目标路由成功激活时,链接元素自动设置一个表示激活的 CSS 类名。

<router-link> 比起写死的 <a href="..."> 会好一些,理由如下:

  • 无论是 HTML5 history 模式还是 hash 模式,它的表现行为一致,所以,当你要切换路由模式,或者在 IE9 降级使用 hash 模式,无须作任何变动。

  • 在 HTML5 history 模式下,router-link 会拦截点击事件,让浏览器不在重新加载页面。

  • 当你在 HTML5 history 模式下使用 base 选项之后,所有的 to 属性都不需要写(基路径)了。

Props

  • to

    • 类型: string | Location

    • required

    表示目标路由的链接。当被点击后,内部会立刻把 to 的值传到 router.push(),所以这个值可以是一个字符串或者是描述目标位置的对象。

    <!-- 字符串 -->
    <router-link to="home">Home</router-link>
    <!-- 渲染结果 -->
    <a href="home">Home</a>
    
    <!-- 使用 v-bind 的 JS 表达式 -->
    <router-link v-bind:to="'home'">Home</router-link>
    
    <!-- 不写 v-bind 也可以,就像绑定别的属性一样 -->
    <router-link :to="'home'">Home</router-link>
    
    <!-- 同上 -->
    <router-link :to="{ path: 'home' }">Home</router-link>
    
    <!-- 命名的路由 -->
    <router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>
    
    <!-- 带查询参数,下面的结果为 /register?plan=private -->
    <router-link :to="{ path: 'register', query: { plan: 'private' }}">Register</router-link>
    
  • replace

    • 类型: boolean

    • 默认值: false

    设置 replace 属性的话,当点击时,会调用 router.replace() 而不是 router.push(),于是导航后不会留下 history 记录。

    <router-link :to="{ path: '/abc'}" replace></router-link>
    
  • append

    • 类型: boolean

    • 默认值: false

设置 append 属性后,则在当前(相对)路径前添加基路径。例如,我们从 /a 导航到一个相对路径 b,如果没有配置 append,则路径为 /b,如果配了,则为 /a/b

  <router-link :to="{ path: 'relative/path'}" append></router-link>
  • tag

    • 类型: string

    • 默认值: "a"

    有时候想要 <router-link> 渲染成某种标签,例如 <li>。 于是我们使用 tag prop 类指定何种标签,同样它还是会监听点击,触发导航。

    <router-link to="/foo" tag="li">foo</router-link>
    <!-- 渲染结果 -->
    <li>foo</li>
    
  • active-class

    • 类型: string

    • 默认值: "router-link-active"

    设置 链接激活时使用的 CSS 类名。默认值可以通过路由的构造选项 linkActiveClass 来全局配置。

  • exact

    • 类型: boolean

    • 默认值: false

    "是否激活" 默认类名的依据是 inclusive match (全包含匹配)。 举个例子,如果当前的路径是 /a 开头的,那么 <router-link to="/a"> 也会被设置 CSS 类名。

按照这个规则,<router-link to="/"> 将会点亮各个路由!想要链接使用 "exact 匹配模式",则使用 exact 属性:

  <!-- 这个链接只会在地址为 / 的时候被激活 -->
  <router-link to="/" exact>

查看更多关于激活链接类名的例子 可运行.

  • events

    2.1.0+

    • 类型: string | Array<string>

    • 默认值: 'click'

    声明可以用来触发导航的事件。可以是一个字符串或是一个包含字符串的数组。

将"激活时的CSS类名"应用在外层元素

有时候我们要让 "激活时的CSS类名" 应用在外层元素,而不是 <a> 标签本身,那么可以用 <router-link> 渲染外层元素,包裹着内层的原生 <a> 标签:

<router-link tag="li" to="/foo">
  <a>/foo</a>
</router-link>

在这种情况下,<a> 将作为真实的链接(它会获得正确的 href 的),而 "激活时的CSS类名" 则设置到外层的 <li>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要安装vue-router,需要先安装Vue.js。以下是在Vue.js项目安装和使用vue-router的步骤: 1. 在终端使用npm命令安装vue-router:`npm install vue-router` 2. 在Vue.js项目导入vue-router: ```js import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) ``` 3. 创建一个vue-router实例并定义路由: ```js const router = new VueRouter({ routes: [ { path: '/home', component: Home }, { path: '/about', component: About } ] }) ``` 4. 将vue-router实例添加到Vue实例: ```js new Vue({ router, render: h => h(App) }).$mount('#app') ``` 其,`App`是Vue.js项目的根组件。 5. 在Vue.js项目使用路由: 在Vue.js项目可以通过`<router-link>`组件和`<router-view>`组件来实现路由导航和页面渲染。 `<router-link>`组件用于生成路由链接: ```html <router-link to="/home">Home</router-link> <router-link to="/about">About</router-link> ``` `<router-view>`组件用于渲染路由组件: ```html <router-view></router-view> ``` 在路由定义,`component`属性指定了路由对应的组件。例如,在上面的路由定义,`/home`路径对应的组件是`Home`,`/about`路径对应的组件是`About`。 当用户点击`<router-link>`组件vue-router会根据`to`属性的值跳转到对应的路由,并且渲染对应的组件到`<router-view>`组件。 ### 回答2: Vue Router 是 Vue.js 官方的路由管理器,用于实现单页面应用(SPA)的导航。下面是使用 npm 安装 Vue Router 的步骤: 第一步:在终端或命令提示符,进入你的 Vue 项目的根目录。 第二步:使用以下命令安装 Vue Router: ```bash npm install vue-router ``` 第三步:安装完成后,在你的项目引入 Vue Router。可以在 main.js 文件添加以下代码: ```javascript import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) ``` 第四步:创建一个路由文件(通常命名为 router.js)并在其定义路由。路由文件可以包含路由组件的导入和路由的配置。你可以添加以下示例代码: ```javascript import Vue from 'vue' import VueRouter from 'vue-router' import Home from './components/Home.vue' import About from './components/About.vue' Vue.use(VueRouter) const routes = [ { path: '/', component: Home }, { path: '/about', component: About } ] const router = new VueRouter({ routes }) export default router ``` 第五步:在 main.js 文件导入路由,并将其与根实例关联: ```javascript import Vue from 'vue' import App from './App.vue' import router from './router' new Vue({ router, render: h => h(App) }).$mount('#app') ``` 以上步骤完成后,Vue Router 已经成功安装并配置完成。你可以在项目使用路由进行页面之间的导航。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值