• 技术文章 >web前端 >js教程

    怎样实现组件相互跳转

    php中世界最好的语言php中世界最好的语言2018-04-14 17:16:58原创1092
    这次给大家带来怎样实现组件相互跳转,实现组件相互跳转的注意事项有哪些,下面就是实战案例,一起来看一下。

    通过VueRouter来实现组件之间的跳转,供大家参考,具体内容如下

    提供了3种方式实现跳转:

    ①直接修改地址栏中的路由地址

    <!doctype html>
    <html>
     <head>
     <meta charset="UTF-8">
     <title></title>
      <script src="js/vue.js"></script>
    <!-- 引入文件 -->
      <script src="js/vue-router.js"></script>
     </head>
     <body>
     <p id="container">
        <p>{{msg}}</p>
    <!--通过router-view指定盛放组件的容器 -->
        <router-view></router-view>
      </p>
      <script>
        var testLogin = Vue.component("login",{
          template:`
            <p>
              <h1>这是我的登录页面</h1>
            </p>
        })
        var testRegister = Vue.component("register",{
          template:`
            <p>
              <h1>这是我的注册页面</h1>
            </p>
        })
        //配置路由词典
        //对象数组
        const  myRoutes =[
        //当路由地址:地址栏中的那个路径是myLogin访问组件
        //组件是作为标签来用的所以不能直接在component后面使用
        //要用返回值
          //path:''指定地址栏为空:默认为Login页面
          {path:'',component:testLogin},
          {path:'/myLogin',component:testLogin},
          {path:'/myRegister',component:testRegister}
        ]
        const myRouter = new VueRouter({
          //myRoutes可以直接用上面的数组替换
          routes:myRoutes
        })
        new Vue({
          router:myRouter,
          //或者:
          /*
            router:new VueRouter({
                routes:[
                  {path:'/myLogin',component:testLogin},
          {path:'/myRegister',component:testRegister}
                ]
            })
          */
          el:"#container",
          data:{
            msg:"Hello VueJs"
          }
        })
      </script>
     </body>
    </html>

    ②通过router-link实现跳转

    <router-link to="/myRegister">注册</router-link>
    <!doctype html>
    <html>
     <head>
     <meta charset="UTF-8">
     <title></title>
      <script src="js/vue.js"></script>
    <!-- 引入文件 -->
      <script src="js/vue-router.js"></script>
     </head>
     <body>
     <p id="container">
        <p>{{msg}}</p>
    <!--通过router-view指定盛放组件的容器 -->
        <router-view></router-view>
      </p>
      <script>
        var testLogin = Vue.component("login",{
          template:`
            <p>
              <h1>这是我的登录页面</h1>
              <router-link to="/myRegister">注册</router-link>
            </p>
          `
          /*to后面是路由地址*/
        })
        var testRegister = Vue.component("register",{
          template:`
            <p>
              <h1>这是我的注册页面</h1>
            </p>
        })
        //配置路由词典
        const  myRoutes =[
          {path:'',component:testLogin},
          {path:'/myLogin',component:testLogin},
          {path:'/myRegister',component:testRegister}
        ]
        const myRouter = new VueRouter({
          routes:myRoutes
        })
        new Vue({
          router:myRouter,
          el:"#container",
          data:{
            msg:"Hello VueJs"
          }
        })
      </script>
     </body>
    </html>

    ③通过js的编程的方式

    jumpToLogin: function () {
    this.$router.push('/myLogin');
    }

    代码

    <!doctype html>
    <html>
     <head>
     <meta charset="UTF-8">
     <title></title>
      <script src="js/vue.js"></script>
    <!-- 引入文件 -->
      <script src="js/vue-router.js"></script>
     </head>
     <body>
     <p id="container">
        <p>{{msg}}</p>
    <!--通过router-view指定盛放组件的容器 -->
        <router-view></router-view>
      </p>
      <script>
        var testLogin = Vue.component("login",{
          template:`
            <p>
              <h1>这是我的登录页面</h1>
              <router-link to="/myRegister">注册</router-link>
            </p>
          `
          /*to后面是路由地址*/
        })
        var testRegister = Vue.component("register",{
          methods:{
            jumpToLogin:function(){
              this.$router.push('/myLogin');
            }
          },
          template:`
            <p>
              <h1>这是我的注册页面</h1>
              <button @click="jumpToLogin">注册完成,去登录</button>
            </p>
          `
        })
        //配置路由词典
        const  myRoutes =[
          {path:'',component:testLogin},
          {path:'/myLogin',component:testLogin},
          {path:'/myRegister',component:testRegister}
        ]
        const myRouter = new VueRouter({
          routes:myRoutes
        })
        new Vue({
          router:myRouter,
          el:"#container",
          data:{
            msg:"Hello VueJs"
          }
        })
      </script>
     </body>
    </html>

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:



    以上就是怎样实现组件相互跳转的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:相互 组件 实现
    上一篇:Vue路由钩子的实战使用教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 浅析Angular变更检测中的DOM更新机制• 一文带你深入了解Node中的Buffer类• Angular开发问题记录:组件拿不到@Input输入属性• 聊聊基于Node实现单点登录(SSO)的方法• 深入了解Angular(新手入门指南)
    1/1

    PHP中文网