vue传参数PHP,Vue Router 传递参数

在访问网站的时候,你可能会发现有的页面的 html 或 php 文件后面会有一些以 ? 开头的文本,这就是页面之间传递参数的方式。在 Vue 中对于使用了路由的动态组件来说,在跳转的时候也需要通过 URL 来传递参数。

下面就简单写一下 Vue 路由传递参数的方式。

通过 params 传递参数

下面使用 home 组件给 category 组件传递参数,路由配置如下:const router = new routes({

routes: [

{

path: '/',

name: 'home',

component: home

},

{

path: '/category/:id',

name: 'category',

component: category

}

],

mode: 'history'

})

注意 /category 后面的 /:id ,接收参数的组件路径后面需要包含 /:id 。

下面使用 router-link 标签来传递参数:Java

PHP

上面两个链接的地址都指向了 category 组件,组件路径后面的 / 后面的内容就是参数值。第一个链接传递的是 java ,第二个链接传递的是 php 。

下面通过 JS 跳转的方式来传递参数:this.$router.push({

path: '/category/java'

})

上面传递的参数是 java 。

上面只是简单演示,所以参数都是写死的,实际开发中可能需要动态拼接参数。

上面给 category 组件传递参数,category 组件可以使用 this.$route.params.id 来接收参数。

s使用 params 方式传递参数,地址栏显示的地址如下:http://xxx.com/category/java

最后的 java 就是参数。

使用 query 传递参数

在传递多个参数的情况下,使用 query 要更方便。

下面还是用 home 组件给 category 组件传递参数,路由配置如下:const router = new routes({

routes: [

{

path: '/',

name: 'home',

component: home

},

{

path: '/category',

name: 'category',

component: category

}

],

mode: 'history'

})

下面使用 router-link 标签来传递参数:Java

PHP

router-link 的 to 属性如果要传入对象的话前面需要加 : 。

name 的值就是路由配置中配置的组件 name 。query 的值是一个对象,其中包含了参数名和参数值。上面分别传递了 user 和 lan 两个参数。

下面使用 JS 跳转的方式来传递参数:this.$router.push({

name: 'category',

query: {

user: 'jack',

lan: 'java'

}

})

name 也可以换成 path 。

category 组件可以使用 this.$route.query.user 和 this.$route.query.lan 来接收参数,其中的 user 和 lan 就是参数名。

query 方式传递参数,地址栏中的 URL 如下:http://xxx.com?user=jack&lan=java

如果要传递中文或符号的话,建议先对参数值进行 URL 编码,接收的时候再解码。

响应路由参数的变化

如果只是参数改变 组件路由不变的话,组件是不会重新加载的,组件定义的钩子函数也不会执行。对于分页加载数据的组件来说,改变参数钩子函数也不会执行,即便点击浏览器的前进和后退组件也不会重新加载,只能刷新网页。

如果需要在参数改变的情况下触发某个函数就需要用 watch 来监听 $route 的变化,如下:export default {

name: 'category',

watch: {

$route() {

// 当参数改变时就会执行 $route

}

}

}

当地址栏的参数改变时就会触发 $route 方法。

相关文章:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值