>  기사  >  웹 프론트엔드  >  컴포넌트 간 점프를 위한 세 가지 Vue-Router 방법

컴포넌트 간 점프를 위한 세 가지 Vue-Router 방법

小云云
小云云원래의
2018-05-14 16:44:163564검색

이 글에서는 Vue-Router가 컴포넌트 간 점프를 구현하는 세 가지 방법을 주로 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.

점프를 달성하는 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:&#39;&#39;指定地址栏为空:默认为Login页面
      {path:&#39;&#39;,component:testLogin},
      {path:&#39;/myLogin&#39;,component:testLogin},
      {path:&#39;/myRegister&#39;,component:testRegister}
    ]

    const myRouter = new VueRouter({
      //myRoutes可以直接用上面的数组替换
      routes:myRoutes
    })
    new Vue({
      router:myRouter,
      //或者:
      /*
        router:new VueRouter({
            routes:[
              {path:&#39;/myLogin&#39;,component:testLogin},
      {path:&#39;/myRegister&#39;,component:testRegister}
            ]
        })
      */
      el:"#container",
      data:{
        msg:"Hello VueJs"
      }
    })
  </script>
 </body>
</html>

② 라우터 링크를 통해 점프 구현

<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:&#39;&#39;,component:testLogin}, {path:&#39;/myLogin&#39;,component:testLogin}, {path:&#39;/myRegister&#39;,component:testRegister} ] const myRouter = new VueRouter({ routes:myRoutes }) new Vue({ router:myRouter, el:"#container", data:{ msg:"Hello VueJs" } }) </script>

3 js 프로그래밍을 통해


jumpToLogin: function () {
this.$router.push(&#39;/myLogin&#39;);
}

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(&#39;/myLogin&#39;); } }, template:` <p> <h1>这是我的注册页面</h1> <button @click="jumpToLogin">注册完成,去登录</button> </p> ` }) //配置路由词典 const myRoutes =[ {path:&#39;&#39;,component:testLogin}, {path:&#39;/myLogin&#39;,component:testLogin}, {path:&#39;/myRegister&#39;,component:testRegister} ] const myRouter = new VueRouter({ routes:myRoutes }) new Vue({ router:myRouter, el:"#container", data:{ msg:"Hello VueJs" } }) </script>

관련 권장사항:

vue-router 라우팅 및 페이지 간 탐색에 대한 자세한 설명

vue-router 라우팅 매개변수가 새로 고쳐지고 사라지는 문제에 대한 자세한 솔루션

Vue-Router 구현 페이지 지금 특수효과 방법 예시를 로드 중입니다

위 내용은 컴포넌트 간 점프를 위한 세 가지 Vue-Router 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.