vue路由

HTML部分

    <scriptsrc="js/vue.js"></script>

    <scriptsrc="js/vue-router.js"></script>

    <divid="app">

    <h1>Hello App!</h1>


<!-- 通过传入 `to` 属性指定链接. -->

<!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->

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

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

    </p>

<!-- 路由出口 -->

<!-- 路由匹配到的组件将渲染在这里 -->

    <router-view></router-view>

    </div>

JavaScript部分

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

// 1. 定义 (路由) 组件。

// 可以从其他文件 import 进来

    constFoo={template:'<div>foo</div>'}

    constBar={template:'<div>bar</div>'}

// 2. 定义路由

// 每个路由应该映射一个组件。 其中"component" 可以是

// 通过 Vue.extend() 创建的组件构造器,

// 或者,只是一个组件配置对象。

// 我们晚点再讨论嵌套路由。

    constroutes=[

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

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

   ]

// 3. 创建 router 实例,然后传 `routes` 配置

// 你还可以传别的配置参数, 不过先这么简单着吧。

    constrouter=newVueRouter({

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

   })

// 4. 创建和挂载根实例。

// 记得要通过 router 配置参数注入路由,

// 从而让整个应用都有路由功能

    constapp=newVue({

    router

    }).$mount('#app')

/ 现在,应用已经启动了!

路由的嵌套
<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

  <div id='app'>

      <router-link to='/home'>首页</router-link>

      <router-link to='/user'>用户页</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  User={

          template:`

            <div>

                <h1>这是用户页</h1>

                <ul>

                    <li>

                        <router-link to='/user/regist'>注册</router-link>

                    </li>

                      <li>

                        <router-link to='/user/login'>登录</router-link>

                    </li>

                </ul>

                <router-view></router-view>

            </div>

          `

      }


      var Regist={

          template:`<h3>这是注册页面</h3>`

      }


        var Login={

          template:`<h3>这是登录页面</h3>`

      }


      //3.

      const routes=[

          {path:'/',component:Home},

          {path:'/home',component:Home},

          {

              path:'/user',

              component:User,

              children:[

                  {path:'regist',component:Regist},

                  {path:'login',component:Login}

              ]

          }

      ]


      //4.

      const router=new VueRouter({

          routes:routes

      })


      //5.

      new Vue({

          el:'#app',

          router:router

      })

    </script>

</body>

</html>

传参

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

  <div id='app'>

      <router-link to='/home'>首页</router-link>

      <router-link to='/user'>用户页</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  User={

          template:`

            <div>

                <h1>这是用户页</h1>

                <ul>

                    <li>

                        <router-link to='/user/regist?uname=jack&&age=18'>注册</router-link>

                    </li>

                      <li>

                        <router-link to='/user/login/alice/20'>登录</router-link>

                    </li>

                </ul>

                <router-view></router-view>

            </div>

          `

      }


      var Regist={

          template:`

            <div>

                <h3>这是注册页面</h3>

                <a href=''>{{$route.query}}</a>

                <ul>

                    <li>{{$route.query.uname}}</li>

                    <li>{{$route.query.age}}</li>

                </ul>

            </div>

            `

      }


        var Login={

          template:`

              <div>

                <h3>这是登录页面</h3>

                <p>{{$route.params}}</p>

                <ul>

                    <li>{{$route.params.userName}}</li>

                    <li>{{$route.params.userage}}</li>

                </ul>

              </div>

            `

      }


      //3.

      const routes=[

          {path:'/',component:Home},

          {path:'/home',component:Home},

          {

              path:'/user',

              component:User,

              children:[

                  {path:'regist',component:Regist},

                  {path:'login/:userName/:userage',component:Login} 

              ]

          }

      ]


      //4.

      const router=new VueRouter({

          routes:routes

      })


      //5.

      new Vue({

          el:'#app',

          router:router

      })

    </script>

</body>

</html>

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

推荐阅读更多精彩内容

  • vue是当前最流行的框架之一,路由也是不可或缺的,怎么样快速搭建路由?在搭建路由路由之前我们需要两个插件(vue....
    夭桃_dd0a阅读 1,199评论 1 8
  • 路由是vue进行“页面跳转”的实现方式,而vue-router是vue的一个路由组件。https://router...
    de_self阅读 317评论 0 1
  • 1、容易混淆概念:route,routes,router 1)route,从英文单词来看就是单数,是一条路由,Ho...
    Sunshine铭阅读 2,658评论 0 2
  • 正午的阳光炎热四射 炙烤着大地 北方农村的花椒树下 凉凉麻麻的花椒味带来点点涼的气息 我的勤劳的老母亲在树下搬着样...
    海深深阅读 487评论 2 1
  • 今天的线下读书分享比预期报名人数少了很多,但并未因香蜜少而有影响,大家在每位香蜜的分享中都有所受益,也互推荐了所读...
    秋苹果之秋荷阅读 438评论 5 2