首页  >  文章  >  web前端  >  怎样实现组件相互跳转

怎样实现组件相互跳转

php中世界最好的语言
php中世界最好的语言原创
2018-04-14 17:16:581661浏览

这次给大家带来怎样实现组件相互跳转,实现组件相互跳转的注意事项有哪些,下面就是实战案例,一起来看一下。

通过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>


 
 
 
  

  
 
 
 

    

{{msg}}

       

  <script>     var testLogin = Vue.component("login",{       template:`         <p>           <h1>这是我的登录页面</h1>           &lt;router-link to=&quot;/myRegister&quot;&gt;注册&lt;/router-link&gt;         </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>  

③通过js的编程的方式

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

代码



 
 
 
  

  
 
 
 

    

{{msg}}

       

  <script>     var testLogin = Vue.component("login",{       template:`         <p>           <h1>这是我的登录页面</h1>           &lt;router-link to=&quot;/myRegister&quot;&gt;注册&lt;/router-link&gt;         </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>  

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

推荐阅读:



以上是怎样实现组件相互跳转的详细内容。更多信息请关注PHP中文网其他相关文章!

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