美文网首页
vue中的路由

vue中的路由

作者: 信不由衷 | 来源:发表于2018-09-25 08:18 被阅读0次

1.vue-router相当于vue的第三方数据库。

用处1.通过不同的url访问不同的页面,实现spa(single page application)单页面应用。
下载:npm install vue-router
引用:先引用vue.js在引用vue-router.js

2.路由的建立步骤

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .active{
            color: red
        }
    </style>
</head>
<body>
  <!--1.把标签写好-->
   <div id="app">
       <router-link to="/home">首页</router-link>
       <router-link to="/detail">详情页</router-link>
       <router-view></router-view>
   </div>
    <script src="js/vue.js"></script>
    <script src="js/vue-router.js"></script>
    <script>
       /* 2.创建组件*/
        var Home={
            template:`
                <h1>我是首页的内容</h1>
            `
        }
        var Detail={
            template:`
                <h1>我是详情页的内容</h1>
            `
        }
        /*3.配置路由*/
        const routes=[
            {path:"/",component:Home},
            {path:"/home",component:Home},
            {path:"/detail",component:Detail}
        ]
       /* 4.创建路由实例*/
        const rount=new VueRouter({
            routes:routes,
            linkActiveClass:"active"//默认:linkActiveClass
        })
        /*5.把路由挂到vue的实例上*/
        new Vue({
            el:"#app",
            router:rount
        })
    </script>
</body>
</html>

3.路由的嵌套

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .active{
            color: red
        }
    </style>
</head>
<body>
  <!--1.把标签写好-->
   <div id="app">
       <router-link to="/home">首页</router-link>
       <router-link to="/detail">详情页</router-link>
       <router-view></router-view>
   </div>
    <script src="js/vue.js"></script>
    <script src="js/vue-router.js"></script>
    <script>
       /* 2.创建组件*/
        var Home={
            template:`
                <h1>我是首页的内容</h1>
            `
        }
        var Detail={
            template:`
               <div>
                     <h1>我是详情页的内容</h1>
                     <ul>
                        <li>
                            <router-link to="/detail/deng">登录</router-link>
                        </li>
                        <li>
                            <router-link to="/detail/zhu">注册</router-link>
                        </li>
                    </ul>
                    <router-view></router-view>
               </div>
            `
        }
        var Deng={
            template:`
                <h1>这是登录页面</h1>
            `
        }
        var Zhu={
            template:`
                <h1>这是注册页面</h1>
            `
        }
        /*3.配置路由*/
        const routes=[
            {path:"/",component:Home},
            {path:"/home",component:Home},
            {
                path:"/detail",
                component:Detail,
                children:[
                    {path:"deng",component:Deng},
                     {path:"zhu",component:Zhu}
                ]
            }
        ]
       /* 4.创建路由实例*/
        const rount=new VueRouter({
            routes:routes,
            linkActiveClass:"active"//默认:linkActiveClass
        })
        /*5.把路由挂到vue的实例上*/
        new Vue({
            el:"#app",
            router:rount
        })
    </script>
</body>
</html>

4.路由的传参

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .active{
            color: red
        }
    </style>
</head>
<body>
 <!--1.字符串传参数
 /detail/deng?uname=jack&age=18
 接受{{$route.query}}
 2.rest风格传参
 /detail/zhu/jack/18
 接受:{{$routs.params}}-->
  <!--1.把标签写好-->
   <div id="app">
       <router-link to="/home">首页</router-link>
       <router-link to="/detail">详情页</router-link>
       <router-view></router-view>
   </div>
    <script src="js/vue.js"></script>
    <script src="js/vue-router.js"></script>
    <script>
       /* 2.创建组件*/
        var Home={
            template:`
                <h1>我是首页的内容</h1>
            `
        }
        var Detail={
            template:`
               <div>
                     <h1>我是详情页的内容</h1>
                     <ul>
                        <li>
                            <router-link to="/detail/deng?uname=jack&age=18">登录</router-link>
                        </li>
                        <li>
                            <router-link to="/detail/zhu/jack/18">注册</router-link>
                        </li>
                    </ul>
                    <router-view></router-view>
               </div>
            `
        }
        var Deng={
            template:`
                <div>
                    <h1>这是登录页面</h1>
                    <p>{{$route.query}}<span>以对象的形式输出</span></p>
                    <p>{{$route.query.uname}}</p>
                </div>
            `
        }
        var Zhu={
            template:`
                <div>
                    <h1>这是注册页面</h1>
                    <p>{{$route.params}}<span>以对象的形式输出</span></p>
                    <p>{{$route.params.name}}</p>
                </div>
            `
        }
        /*3.配置路由*/
        const routes=[
            {path:"/",component:Home},
            {path:"/home",component:Home},
            {
                path:"/detail",
                component:Detail,
                children:[
                    {path:"deng",component:Deng},
                     {path:"zhu/:name/:age",component:Zhu}
                ]
            }
        ]
       /* 4.创建路由实例*/
        const rount=new VueRouter({
            routes:routes,
            linkActiveClass:"active"//默认:linkActiveClass
        })
        /*5.把路由挂到vue的实例上*/
        new Vue({
            el:"#app",
            router:rount
        })
    </script>
</body>
</html>

相关文章

  • VUE路由的简单使用

    VUE中如何使用路由? 路由的基本使用 在html中 引入vue 和 vue-router 包 创建vue对象并将...

  • Vue_Router底层封装

    Vue_Router底层封装 关于Vue中的路由,做了底层的哈希路由的封装。基础路由相对容易,其中不足之处,慢慢再...

  • 【源码】vue-rotuer1 原理

    大纲hash路由history路由vue-router简单实现vue中的数组,对象添加属性的监听 (1)Hash ...

  • Vue应用

    Vue项目 Vue结构 Vue项目打包与发布 Vue语法二 Vue网络请求 Vue路由 动态路由 编程式路由导航

  • Vue中的动态路由基本使用方式

    动态路由须知 一旦路由对象注入到了new Vue的示例中,那么 new Vue的示例 和 所有路由组件 的 dat...

  • vue中的路由

    vue中4中路由包含: 1、动态路由2、嵌套路由3、编程式路由4、命名式路由 1、动态路由 2、嵌套路由 3、编程...

  • 关于vue--路由(公众号开发总结)

    关于路由 在router.js中引入vue和vue-router 路由模式 前端路由就是一个前端不同页面的状态管理...

  • 1.16、路由

    十六、路由 1.什么是路由 在vue中的路由,能够帮组我们在一个vue组件中实现其他组件的相互切换。也就是说,可以...

  • JAVA教程:菜鸟Vue学习笔记(五)

    菜鸟Vue学习笔记(五) 上次我们学习了Vue的组件,这次我们来学习一下路由的使用。 在Vue中,所谓的路由其实跟...

  • Vue—— vue中的路由

    来源:https://www.cnblogs.com/zhilili/p/14735374.html[https:...

网友评论

      本文标题:vue中的路由

      本文链接:https://www.haomeiwen.com/subject/mzrkoftx.html