Vue router

html

<script src="https://unpkg.com/vue/dist/vue.js"></script>

<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>

<div id="app">

    <h1>Hello App</h1>

    <p>

        <router-link to="/foo">Go to Foo</router-link>

        <router-link to="/bar">Go to Bar</router-link>

    </p>

    <router-view></router-view>

</div>

JavaScript

  1. 如果使用模块化机制编程,导入Vue和VueRouter,要调用 Vue.use(VueRouter)

  2. 定义 (路由) 组件。 可以从其他文件 import 进来


constFoo={template:'foo'}

constBar={template:'bar'}
  1. 定义路由

每个路由应该映射一个组件。 其中"component" 可以是通过 Vue.extend() 创建的组件构造器, 或者,只是一个组件配置对象。我们晚点再讨论嵌套路由。

constroutes=[

{path:'/foo',component:Foo},

{path:'/bar',component:Bar}

]
  1. 创建 router 实例,然后传 routes 配置。 你还可以传别的配置参数, 不过先这么简单着吧。
constrouter=newVueRouter({

        routes// (缩写) 相当于 routes: routes

})
  1. 创建和挂载根实例。 记得要通过 router 配置参数注入路由, 从而让整个应用都有路由功能。

constapp=newVue({

    router

}).$mount('#app')

通过注入路由器,我们可以在任何组件内通过 this.router 访问路由器,也可以通过 this.route 访问当前路由:

// Home.vue

export default{

    computed: {

        username(){

            // 我们很快就会看到 `params` 是什么

            returnthis.$route.params.username

        }

    },

    methods: {

        goBack(){

            window.history.length>1

                ? this.$router.go(-1)

                : this.$router.push('/')

        }

    }

}

该文档通篇都常使用 router 实例。留意一下 this.$router 和 router 使用起来完全一样。我们使用 this.$router 的原因是我们并不想在每个独立需要封装路由的组件中都导入路由。

引用:vue文档

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的abou...
    你好陌生人丶阅读 1,664评论 0 6
  • vue-router 基本使用 路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的...
    Jony0114阅读 1,259评论 0 0
  • 介绍 vue-router是一个vue插件。其实质是在location.hash、location.replace...
    AmazRan阅读 1,605评论 0 6
  • 安装 直接下载 在Vue后面加载vue-router,它会自动安装的: NPM 如果在一个模块化工程中使用它,必须...
    oWSQo阅读 789评论 0 0
  • 路由实现的方式 声明式。<router-link :to="..."> 编程式。router.push(...) ...
    SailingBytes阅读 1,141评论 1 3