Home > Web Front-end > JS Tutorial > body text

How to jump components to each other

php中世界最好的语言
Release: 2018-04-14 17:16:58
Original
1617 people have browsed it

This time I will show you how to jump components to each other, and what are the precautions to jump between components. The following is a practical case, let's take a look.

Use VueRouter to implement jumps between components for your reference. The specific content is as follows

Provides 3 ways to jump:

① Directly modify the

routing address

<!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>
Copy after login
in the address bar ② Jump through router-link

<router-link to="/myRegister">注册</router-link>
Copy after login


 
 
 
  

  
 
 
 

    

{{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>  
Copy after login
③Through js

programming way

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



 
 
 
  

  
 
 
 

    

{{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>  
Copy after login
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:



The above is the detailed content of How to jump components to each other. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!