vue路由

2018-09-24  本文已影响0人  另一个童话

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>

上一篇 下一篇

猜你喜欢

热点阅读