当前位置: 代码网 > it编程>前端脚本>Vue.js > vue实现子路由调用父路由的方法

vue实现子路由调用父路由的方法

2024年07月02日 Vue.js 我要评论
vue子路由调用父路由父路由页面<template> <div style="height: 100%"> <!-- 路由占位符 --> <ro

vue子路由调用父路由

父路由页面

<template>
  <div style="height: 100%">
  	 <!-- 路由占位符 -->
     <router-view @update="getrightlist()" />
  </div>
</template>
<script>
export default {
  name: "home",
  data() {
  	return {
  	}
  },
  methods: {
    // 获取权限数据
    getrightlist(data) {
      console.log("45465456");
    },
  },
}
<script>

子路由页面

let _that = this;
_that.$emit("update");

vue子路由调用父路由中的方法和参数

实现方式

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

使用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>

测试结果

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com