vue.js中使用iframe后,子页面调用不了父页面的方法和值

1、场景
父页面:

<div v-if='bloonArr[2].show' style="width:'80%';margin:0 5% 0 25%;">
     <iframe   src="test/son.html"  ></iframe>       
</div>

<script>
	var vmFather = new Vue({
		data:{
			fatherData:'拿取了父页面的数据'
		},
		methods:{
			fatherMethods(){
				console.log('使用了父页面的方法')
			}
		},
	})
</script>
子页面:
	<div>window.parent.fatherData</div>
	<script>
		var vmSon = new Vue({
			data:'',
			methods:'',
			mounted(){
				window.parent.fatherMethods()
			}
		})
	</script>

2、分析
使用vue.js,iframe子页面直接使用window.parent.‘方法名’和window.parent.’数据名’是拿不到父页面中的数据及方法的,需要加上Vue函数的名字。因为这些方法和函数是在父页面的Vue函数中,所以正确写法如下:

	<div>window.parent.vmFather.fatherData</div>
	<script>
		var vmSon = new Vue({
			data:'',
			methods:'',
			mounted(){
				window.parent.vmFather.fatherMethods()
			}
		})
	</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值