您好,登錄后才能下訂單哦!
本文章向大家介紹使用Vue-Router實現組件間跳轉的方式有哪些,主要包括使用Vue-Router實現組件間跳轉的方式有哪些的使用實例、應用技巧、基本知識點總結和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。
Vue具體輕量級框架、簡單易學、雙向數據綁定、組件化、數據和結構的分離、虛擬DOM、運行速度快等優勢,Vue中頁面使用的是局部刷新,不用每次跳轉頁面都要請求所有數據和dom,可以大大提升訪問速度和用戶體驗。
提供了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> <div id="container"> <p>{{msg}}</p> <!--通過router-view指定盛放組件的容器 --> <router-view></router-view> </div> <script> var testLogin = Vue.component("login",{ template:` <div> <h2>這是我的登錄頁面</h2> </div> ` }) var testRegister = Vue.component("register",{ template:` <div> <h2>這是我的注冊頁面</h2> </div> ` }) //配置路由詞典 //對象數組 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> <div id="container"> <p>{{msg}}</p> <!--通過router-view指定盛放組件的容器 --> <router-view></router-view> </div> <script> var testLogin = Vue.component("login",{ template:` <div> <h2>這是我的登錄頁面</h2> <router-link to="/myRegister">注冊</router-link> </div> ` /*to后面是路由地址*/ }) var testRegister = Vue.component("register",{ template:` <div> <h2>這是我的注冊頁面</h2> </div> ` }) //配置路由詞典 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> <div id="container"> <p>{{msg}}</p> <!--通過router-view指定盛放組件的容器 --> <router-view></router-view> </div> <script> var testLogin = Vue.component("login",{ template:` <div> <h2>這是我的登錄頁面</h2> <router-link to="/myRegister">注冊</router-link> </div> ` /*to后面是路由地址*/ }) var testRegister = Vue.component("register",{ methods:{ jumpToLogin:function(){ this.$router.push('/myLogin'); } }, template:` <div> <h2>這是我的注冊頁面</h2> <button @click="jumpToLogin">注冊完成,去登錄</button> </div> ` }) //配置路由詞典 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>
到此這篇關于使用Vue-Router實現組件間跳轉的方式有哪些的文章就介紹到這了,更多相關的內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。