温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring Boot/VUE中怎么实现路由传递参数

发布时间:2022-04-28 16:38:56 来源:亿速云 阅读:301 作者:iii 栏目:大数据

本篇内容主要讲解“Spring Boot/VUE中怎么实现路由传递参数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Boot/VUE中怎么实现路由传递参数”吧!

在路由时传递参数,一般有两种形式,一种是拼接在url地址中,另一种是查询参数。如:http://localhost:8080/router/tang/101?type=spor&num=12。下面根据代码看一下,VUE 和 Spring Boot 中各自是如何处理传递和接受参数的。

Spring Boot package com.tang.demo1.controller;  import org.springframework.web.bind.annotation.*;  @RestController  public class RouterController {   @RequestMapping(path = {"/router/{name}/{classid}"}, method = RequestMethod.GET)   public String router(@PathVariable("name") String name   ,@PathVariable("classid") int classid   ,@RequestParam(value = "type", defaultValue = "news") String type   ,@RequestParam(value = "num", required = falsef) int num){   // 访问 http://localhost:8080/router/tang/101?type=spor&num=12   return name + classid + type + num;   }  }  在url路径中的,被称为pathVariable,查询参数被称为pequestParm。在controller中接受参数,可以直接在方法里用了。 VUE routes: [   {   path: '/',   name: 'HomePage',   component: HomePage   },   {   path: '/user/:id?/:type?',   name: 'User',   component: User   }   ]

首先在路由中配置url中需要传递的参数,被称为动态路径参数。以“:”开始,末尾的“?”表示为可选的参数。

<template>  <div>   <p>user</p>   <router-link :to="'/user/' + item.id + '/' + item.type +'?name=' + item.type" :key="index" v-for="(item, index) in userList">{{item.name}}</router-link>   <div v-if="childName">   <p>-----</p>  {{childName}}   </div>  </div>  </template>  <script>  var list = [   {'name': 'xiaoming',   'id': 123,   'type': 'vip'},   {'name': 'gangzi',   'id': 456,   'type': 'common'}  ]  export default {   data(){   return {   userList: list,   childName: null   }   },   watch: {   $route(){   if(this.$route.params.id){  this.childName = this.$route.params.id +'//////' + this.$route.query.name;   }else{   this.childName = null   }   }   },   methods: {   },   created() {   // this.$route.params为动态路径参数   if(this.$route.params.id){  // this.$route.params为查询参数  this.childName = this.$route.params.id +'//////' + this.$route.query.name;   }else{   this.childName = null   }   },   deactivated() {   console.log('deact')   },   computed: {   },   components: {   }  };  </script>

vue中接受参数需要从routes实例中获取,动态路径参数在params里,查询参数在query里。

当vue的动态路径组件处在激活状态时,如果改变动态路径参数,那么写在created()的方法将不会再次被调用,因为该组件已经创建好了。此时,可以为$route添加一个watch,当其发生变化时,再获取数据。

在路由时传递参数,一般有两种形式,一种是拼接在url地址中,另一种是查询参数。如:http://localhost:8080/router/tang/101?type=spor&num=12。下面根据代码看一下,VUE 和 Spring Boot 中各自是如何处理传递和接受参数的。

Spring Boot package com.tang.demo1.controller;  import org.springframework.web.bind.annotation.*;  @RestController  public class RouterController {   @RequestMapping(path = {"/router/{name}/{classid}"}, method = RequestMethod.GET)   public String router(@PathVariable("name") String name   ,@PathVariable("classid") int classid   ,@RequestParam(value = "type", defaultValue = "news") String type   ,@RequestParam(value = "num", required = falsef) int num){   // 访问 http://localhost:8080/router/tang/101?type=spor&num=12   return name + classid + type + num;   }  }

在url路径中的,被称为pathVariable,查询参数被称为pequestParm。在controller中接受参数,可以直接在方法里用了。

VUE

routes: [   {   path: '/',   name: 'HomePage',   component: HomePage   },   {   path: '/user/:id?/:type?',   name: 'User',   component: User   }   ]

首先在路由中配置url中需要传递的参数,被称为动态路径参数。以“:”开始,末尾的“?”表示为可选的参数。

<template>  <div>   <p>user</p>   <router-link :to="'/user/' + item.id + '/' + item.type +'?name=' + item.type" :key="index" v-for="(item, index) in userList">{{item.name}}</router-link>     <div v-if="childName">   <p>-----</p>  {{childName}}   </div>  </div>  </template>  <script>  var list = [   {'name': 'xiaoming',   'id': 123,   'type': 'vip'},   {'name': 'gangzi',   'id': 456,   'type': 'common'}  ]  export default {   data(){   return {   userList: list,   childName: null   }   },   watch: {   $route(){   if(this.$route.params.id){  this.childName = this.$route.params.id +'//////' + this.$route.query.name;   }else{   this.childName = null   }   }   },   methods: {     },   created() {   // this.$route.params为动态路径参数   if(this.$route.params.id){  // this.$route.params为查询参数  this.childName = this.$route.params.id +'//////' + this.$route.query.name;   }else{   this.childName = null   }     },   deactivated() {   console.log('deact')   },   computed: {     },   components: {   }  };  </script>

vue中接受参数需要从routes实例中获取,动态路径参数在params里,查询参数在query里。

当vue的动态路径组件处在激活状态时,如果改变动态路径参数,那么写在created()的方法将不会再次被调用,因为该组件已经创建好了。此时,可以为$route添加一个watch,当其发生变化时,再获取数据。

在路由时传递参数,一般有两种形式,一种是拼接在url地址中,另一种是查询参数。如:http://localhost:8080/router/tang/101?type=spor&num=12。下面根据代码看一下,VUE 和 Spring Boot 中各自是如何处理传递和接受参数的。

Spring Boot package com.tang.demo1.controller;  import org.springframework.web.bind.annotation.*;  @RestController  public class RouterController {   @RequestMapping(path = {"/router/{name}/{classid}"}, method = RequestMethod.GET)   public String router(@PathVariable("name") String name   ,@PathVariable("classid") int classid   ,@RequestParam(value = "type", defaultValue = "news") String type   ,@RequestParam(value = "num", required = falsef) int num){   // 访问 http://localhost:8080/router/tang/101?type=spor&num=12   return name + classid + type + num;   }  }

在url路径中的,被称为pathVariable,查询参数被称为pequestParm。在controller中接受参数,可以直接在方法里用了。

VUE

routes: [   {   path: '/',   name: 'HomePage',   component: HomePage   },   {   path: '/user/:id?/:type?',   name: 'User',   component: User   }   ]

首先在路由中配置url中需要传递的参数,被称为动态路径参数。以“:”开始,末尾的“?”表示为可选的参数。

<template>  <div> <p>user</p>   <router-link :to="'/user/' + item.id + '/' + item.type +'?name=' + item.type" :key="index" v-for="(item, index) in userList">{{item.name}}</router-link>   <div v-if="childName">   <p>-----</p>  {{childName}}   </div>  </div>  </template>  <script>  var list = [   {'name': 'xiaoming',   'id': 123,   'type': 'vip'},   {'name': 'gangzi',   'id': 456,   'type': 'common'}  ]  export default {   data(){   return {   userList: list,   childName: null   }   },   watch: {   $route(){   if(this.$route.params.id){  this.childName = this.$route.params.id +'//////' + this.$route.query.name;   }else{   this.childName = null   }   }   },   methods: {   },   created() {   // this.$route.params为动态路径参数   if(this.$route.params.id){  // this.$route.params为查询参数  this.childName = this.$route.params.id +'//////' + this.$route.query.name;   }else{   this.childName = null   }   },   deactivated() {   console.log('deact')   },   computed: {   },   components: {   }  };  </script>

vue中接受参数需要从routes实例中获取,动态路径参数在params里,查询参数在query里。

当vue的动态路径组件处在激活状态时,如果改变动态路径参数,那么写在created()的方法将不会再次被调用,因为该组件已经创建好了。此时,可以为$route添加一个watch,当其发生变化时,再获取数据。

到此,相信大家对“Spring Boot/VUE中怎么实现路由传递参数”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI