ホームページ > 記事 > ウェブフロントエンド > Vue-Router がコンポーネント間をジャンプする 3 つの方法
この記事では、主にコンポーネント間のジャンプを実現するための Vue-Router の 3 つの方法を詳しく紹介します。興味のある方はぜひ参考にしてください。
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> <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>
③JSプログラミングを通して
jumpToLogin: function () { this.$router.push('/myLogin'); }
code
{{msg}}
<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>
関連おすすめ:
vueについて - Routerはコンポーネント間のジャンプパラメータ転送を実装しますvueコンポーネント間の通信のインスタンス詳細説明 子と親の詳細説明(2)Vue.jsはコンポーネント間の通信を毎日学習する必要があります以上がVue-Router がコンポーネント間をジャンプする 3 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。