依星源码资源网,依星资源网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1092|回复: 0

[vue]vue-router跳转用法详解

[复制链接] 主动推送

5258

主题

5305

帖子

6643

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6643
发表于 2020-12-12 13:41:12 | 显示全部楼层 |阅读模式
vue-router是一个单页面的路由器,也就是说所有的跳转都会在这个页面实现。

006.png
这种只需要跳转页面,不需要添加验证方法的情况,可以使用 <router-link> 来实现导航的功能:



1、简单的跳转。
①首先要安装vue-router,利用npm进行安装
npm install vue-router或者cnpm install vue-router

②进行引用,<router-link to="/user">user</router-link>  router-link指定路径,to指向所要跳转的url

                    <router-view></router-view>显示url的内容,也可写成<router-view/>

  1. <template>
  2.   <div class="hello">
  3.           <h1>{{ msg }}</h1>
  4.           <ul>
  5.                 <li><router-link to="/about">{{about}}</router-link></li>
  6.                 <li><router-link to="/home">{{home}}</router-link></li>
  7.         </ul>
  8.         <router-view></router-view>
  9.   </div>
  10. </template>
复制代码
②在component文件夹新建about.vue  home.vue文件,按照默认模版about.vue
  1. <template>
  2.         <div>
  3.         <h1>{{msg}}</h1>
  4.         <router-link to="/">返回</router-link>
  5.         </div>
  6. </template>

  7. <script>
  8.         export default { //ES6语法,用于输出到外部,这样就可以在其他文件内用import输入
  9.           name: 'about',
  10.           data () {    //由于是组件,data必须是个函数,这是ES6写法,data后面加括号相当于data: function () {}
  11.             return {   //记得return不然接收不到数据
  12.               msg: 'Welcome' //上面的 msg 就是这里输出的
  13.             }
  14.           }
  15.         }
  16. </script>

  17. <style>
  18. </style>
复制代码
home.vue
  1. <template>
  2.         <div>
  3.         <h1>{{msg}}</h1>
  4.         <router-link to="/">返回</router-link>
  5.         <router-view></router-view>
  6.         </div>
  7. </template>

  8. <script>
  9.         export default { //ES6语法,用于输出到外部,这样就可以在其他文件内用import输入
  10.           name: 'home',
  11.           data () {    //由于是组件,data必须是个函数,这是ES6写法,data后面加括号相当于data: function () {}
  12.             return {   //记得return不然接收不到数据
  13.               msg: '一级路由内容 Welcome' //上面的 msg 就是这里输出的
  14.             }
  15.           }
  16.         }
  17. </script>

  18. <style>
  19. </style>
复制代码

③在src文件夹下新建一个router.js文件,进行配置引入vue和vue-router,切记要加上Vue.use(VueRouter)
  1. import Vue from 'vue'
  2. import VueRouter from 'vue-router'

  3. import home from './components/home.vue'
  4. import about from './components/about.vue'

  5. Vue.use(VueRouter)
复制代码

引入你新建的about.vue  home.vue文件,配置路由,指定路由和组件之间的关系
  1. const routes = [{
  2.         path: '/home',
  3.         component: home,
  4.     },
  5.     {
  6.         path: '/about',
  7.         component: about
  8.     }
  9. ]
复制代码
定义router,完整的router.js代码如下:
  1. import Vue from 'vue'
  2. import VueRouter from 'vue-router'

  3. import home from './components/home.vue'
  4. import about from './components/about.vue'

  5. Vue.use(VueRouter)

  6. const routes = [{
  7.         path: '/home',
  8.         component: home,
  9.     },
  10.     {
  11.         path: '/about',
  12.         component: about
  13.     }
  14. ]

  15. var router = new VueRouter({
  16.     mode: 'history',
  17.     base: __dirname,
  18.     routes
  19. })
  20. export default router
复制代码
重点或者易错点export default router这句话要记得加上,不然会报下面的警告
002.png

④配置main.js,详细见下面代码
  1. import Vue from 'vue'
  2. import App from './App'
  3. // 引入路由
  4. import router from './router'

  5. Vue.config.productionTip = false

  6. new Vue({
  7.         el: '#app',
  8.     router,
  9.     // 注入到根实例中
  10.     components: { App },
  11.     render: h => h(App)
  12. }).$mount('#app')
复制代码
2、子路由的跳转

在1的基础,进行子路由的跳转,

①在home文件夹下新建两个vue文件,作为子路由所要展示的内容


001.png

②在router中配置子路由,在上一节点的内容加上子路由,利用chilren特性
  1. const routes = [{
  2.         path: '/home',
  3.         component: home,
  4.         children: [{
  5.                 path: 'computer',
  6.                 component: computer
  7.             },
  8.             {
  9.                 path: 'phone',
  10.                 component: phone
  11.             }
  12.         ]
  13.     },
  14.     {
  15.         path: '/about',
  16.         component: about
  17.     }
  18. ]
复制代码

③在父页面写上

<router-view></router-view>

以显示子页面的内容

003.png
上述示例代码全部在附件中,感兴趣的可以下载看一下。
代码采用HBuilderX生成的vue-cli项目,项目预览情况如下:
004.png
005.png

在IIS下部署,需要编译生成文件,生成命令
npm run build

详细VUE搭建IIS站点参见 windows下搭建vue开发环境+IIS部署



项目附件下载(附件项目中不包括依赖项):

文件名称:vuetest22.rar 
下载次数:4  文件大小:259.1 KB  售价:15金钱 [记录]
下载权限: 不限 [购买VIP]   [充值]   [在线充值]   【VIP会员5折;永久VIP免费】
安全检测,请放心下载










扫码关注微信公众号,及时获取最新资源信息!下载附件优惠VIP会员5折;永久VIP免费
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4、论坛的所有内容都不保证其准确性,完整性,有效性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请来信【站长信箱312337667@qq.com】告之,本站将立即删除。
郑重声明:
本站所有资源仅供用户本地电脑学习源代码的内含设计思想和原理,禁止任何其他用途!
本站所有资源、教程来自互联网转载,仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考,不提供任何技术服务。
本站资源仅供本地编辑研究学习参考,禁止未经资源商正版授权参与任何商业行为,违法行为!如需商业请购买各资源商正版授权
本站仅收集资源,提供用户自学研究使用,本站不存在私自接受协助用户架设游戏或资源,非法运营资源行为。
 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
312337667

微信扫一扫,私享最新原创实用干货

QQ|免责声明|依星源码资源网 ( 鲁ICP备2021043233号-3 )|网站地图

GMT+8, 2024-4-25 00:25

Powered by Net188.com X3.4

邮箱:312337667@qq.com 客服QQ:312337667(工作时间:9:00~21:00)

快速回复 返回顶部 返回列表