zoukankan      html  css  js  c++  java
  • vue.js关于路由的跳转

    1、路由demo示例
        <div id="app">
          <h1>Hello App!</h1>
          <p>
            <!-- 使用 router-link 组件来导航. -->
            <!-- 通过传入 `to` 属性指定链接. -->
            <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
            <router-link to="/foo">Go to Foo</router-link>
            <router-link to="/bar">Go to Bar</router-link>
          </p>
          <!-- 路由出口 -->
          <!-- 路由匹配到的组件将渲染在这里 -->
          <router-view></router-view>
        </div>
     
    2、路由的跳转
     
    router-link是一个组件,默认被渲染成一个带有链接的a标签,通过to属性指定链接地址。
    注意:被选中的router-link将自动添加一个class属性值 .router-link-active
     
    1、router-link的to属性
     
    这是一个必须设置的属性,否则路由无法生效。它表示路由的链接,可以是一个字符串也可以是一个描述目标位置的对象。
    <!-- 字符串 -->
    <router-link to="home">Home</router-link>
    
    <!-- 渲染结果同上    使用 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>
    // 此时路由如下定义,name也可为中文
    const routes = [
      { path: '/user', component: user, name: 'user' }
    ];
    
    <!-- 带查询参数,下面的结果为 /register?plan=private -->
    <router-link :to="{ path: 'register', query: { plan: 'private' }}">Register</router-link>
    
     
    这里如果是简单的路由跳转,可以写成to也是可以是:to 或者是v-bind:to
     
    对于命名路由示例如下:
     
    {
       path: '/moreFunDetail/:id',
       name: 'moreFunDetail',
       component: moreFunDetail
    }

    <router-link :to="{ name: 'moreFunDetail', params: { id: 123 }}">User</router-link>
    点击这个链接,跳转到的路径应该是:moreFunDetail/123,比如在文章列表,访问单个文章使用,这个id也就是文章的id

    2、replace 

    一个布尔类型,默认为false。如果replace设置为true,那么导航不会留下history记录,点击浏览器回退按钮不会再回到这个路由。

    <router-link to="goods" replace></router-link>

    3、tag 

    router-link默认渲染成a标签,也有方法让它渲染成其他标签,tag属性就用来设置router-link渲染成什么标签的。

    <!-- 渲染成li标签 -->
    <router-link to="goods" tag="li"></router-link>

    4、active-class 

    上面说了被选中的router-link将自动添加一个class属性值.router-link-active,这个属性就是来修改这个class值的。

    <!-- 改变router-link的active时的classname -->
    <router-link to="goods" active-class="router-active'></router-link>
  • 相关阅读:
    再谈TextField
    IOS-TextField知多少
    leftBarButtonItems
    LeftBarButtonItems,定制导航栏返回按钮
    Apple Mach-O Linker (id) Error "_OBJC_CLASS...错误解决办法 Apple Mach-O Linker (id) Error "_OBJC_CLASS...错误解决办法
    Unrecognized Selector Sent to Instance问题之诱敌深入关门打狗解决办法
    UNRECOGNIZED SELECTOR SENT TO INSTANCE 问题快速定位的方法
    Present ViewController,模态详解
    UILABEL AUTOLAYOUT自动换行 版本区别
    iOS自动布局解决警告Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0
  • 原文地址:https://www.cnblogs.com/xiaotanke/p/7442543.html
Copyright © 2011-2022 走看看