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屬性的值!
裡面的屬性或者方法都可以直接取了!