Vue中子路由怎么调用父路由中的方法和参数

一、实现方式:

  1. 直接在子路由的范围内使用this.$parent.xx即可调用对应父亲路由的参数。
  2. 使用this.$parent.xx()即可调用对应父亲路由的方法

二、测试代码:

  父页面:

<template>
  <div class="parent-demo">
    <div>这是父页面</div>
    <router-view></router-view>
  </div>
</template>

<script>
export default {
  data () {
    return {
      parentParam: '父页面数据'
    }
  },
  methods: {
    // 初始化
    init (msg) {
      alert('这是父页面,传入的参数是:"' + msg + '"')
    }
  }
}
</script>

  子页面:

<template>
  <div class="children-demo">
    <div>这是子页面</div>
  </div>
</template>

<script>
export default {
  data () {
    return {}
  },
  mounted () {
    this.init()
  },
  methods: {
    // 初始化
    init () {
      this.$parent.init('在子页面中调用父页面的数据和方法,' + this.$parent.parentParam);
    }
  }
}
</script>

三、测试结果:

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Vue组件可以通过几种方法调用组件的方法。第一种方法是直接在组件使用`this.$parent.methodName()`来调用组件的方法。这种方法适用于组件和组件处于相同的组件树,且组件是组件的直接级。 第二种方法是使用`$emit`来向组件发送一个自定义事件,组件通过监听这个事件来调用相应的方法组件可以使用`$emit('eventName')`来触发自定义事件,而组件通过在模板使用`@eventName="methodName"`来监听并调用相应的方法。 还有第三种方法,它只适用于在路由下使用。在这种情况下,组件可以直接通过`this.$router.app.methodName()`来调用根组件定义的方法,而无需在组件引入组件并注册组件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Vue组件调用组件的方法](https://blog.csdn.net/weixin_43997143/article/details/100984481)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [vue组件调用组件方法的几种方式](https://blog.csdn.net/Danelxiong/article/details/126426168)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值