A. vue $emit 调用父组件异步方法,执行完毕后再执行子组件的某方法,如何实现
//可以使用回调的方法
//父页面
//父页面调用组件的html中添加事件@test="test"
methods:{
test(data,cab){
setTimeout(()=>{
//这里使用定时器模拟执行完方法
console.log(data)//这是传递过来的参数用于处理
data++
cab(data)//将处理完成的数据返回回去
},2000)
}
}
//子页面
this.$emit('tset',1,(res)=>{
console.log(res)//2秒后会执行这一句打印2
})
//我们也可以用Promise的方法代替回调
methods:{
test(data){
returnnewPromise((resolve)=>{
setTimeout(()=>{
//这里使用定时器模拟执行完方法
console.log(data)//这是传递过来的参数用于处理
data++
resolve(data)//将处理完成的数据返回回去
},2000)
})
}
}
//子页面
constres=awaitthis.$emit('tset',1)
console.log(res)//2秒后会执行这一句
B. vue中子组件怎么如何触发父组件的方法
<template>
<button @click="submit">提交</button>
</template>
<script>
export default {
methods: {
submit: function () {
// 子组件中触发父组件方法ee并传值cc12345
this.$emit('ee', 'cc12345')
}
}
}
</script>
C. vue中引入iframe,iframe中怎么调取vue methods中的方法
如果 你的父页面 和子页面 是在一个域下, 也是就是 协议 主机名 端口号是一致的。 可以在子页面 (也就是iframe)中 直接访问 parent 这个对象, 这个对象就是父页面的window 对象。 想要调用父页面methods 中的方法, 就在 父页面vue 中 将该方法 赋值给window 子页面就可以调用了。
mounted(){
window.init=this.init
},
methods:{
init(){console.log('test')}
}
//子页面直接调用
parent.init()
如果子页面和父页面不在一个域下, 可以使用代理 子页面iframe 使得其在一个域下。
总之,如果你引用的iframe不在一个域下是无法调用的。
D. vue 自组件怎么直接访问父组件
问题分析:
在Vue中,子组件如果需要访问父组件的方法,可以采用自定义事件v-on指令(简写:@)来完成。
举例如下:
以下案例将演示点击子组件模板中的按钮,触发子组件中的方法childFunc。然后在该方法中使用$emit来触发子组件的自定义事件parent。由该自定义事件来调用父组件的parentFun方法。
HTML代码:
<divid="app">
<child@parent='parentFunc'></child>
</div>
Vue代码:
Vue.component('child',{
template:'<buttonv-on:click="childFunc">触发按钮</button>',
methods:{
childFunc:function(){
this.$emit('parent');
}
},
})
newVue({
el:'#app',
methods:{
parentFunc:function(){
alert('我是来自父组件的内容');
}
}
})
点击子组件按钮后的效果:
总结:
从页面提示出的结果可以看出,当点击子组件按钮时,调用了父组件中的parentFunc方法。
E. frame怎么在子页面里调用父页面js方法
子页面调用父页面函数只需要写上window.praent就可以了。比如调用a()函数,就写成:
代码如下:
window.parent.a();
子页面取父页面中的标签中的值,比如该标签的id为“test”,则:
代码如下:
window.parent.document.getElementById("test").value;
jQuery方法为:
$(window.parent.document).contents().find("test").val();
F. js或jQuery,子页面怎么调用父页面当中的方法
要想父页面局部更新,你这里有两种方式,
一种是用iframe方式,弹出一个div层,嵌套iframe,提交后,通知父页面;
另一种是ajax异步方式,弹出一个表单层,提交数据后,回调处理。
G. vue 子页面怎么调用父页面的方法
用this.$emit()
H. JS中怎么在子页面中调用父页面的方法
1、首先建立一个父级页面parent.html,代码如图,一个pop函数方法,一个链接到child.html的iframe标签。
I. JS 子页面怎么调用父页面的方法。
只要在子页面中调用parent即可
比如调取父页面的loads()
parent.loads()
J. vue子组件怎么调用父组件的方法
vue中的组件有个ref属性,你可以理解成组件的id,而父组件这有个属性值叫$refs,可以取出所有带ref属性的组件。
然后就可以通过this.$refs.xxx访问到子组件。xxxx即为你的组件的ref属性的值!
里面的属性或者方法都可以直接取了!