Vue $emit()不能觸發(fā)父組件方法的原因及解決
$emit傳入的事件名稱只能使用小寫,不能使用大寫的駝峰規(guī)則命名
如果修改后還是不行的話,就改用:
this.$parent.Event (Event為父組件中的自定義方法)
補(bǔ)充知識(shí):Vue.js 使用 $emit 觸發(fā)事件填坑
vue的組件內(nèi)觸發(fā)外部事件不起作用
vue的組件內(nèi)觸發(fā)自定義事件(發(fā)外部事件)不起作用
今天學(xué)習(xí)vue的自定義組件功能,在組件內(nèi)部觸發(fā)一個(gè)事件,在使用組件的地方使用v-on綁定這個(gè)事件,然而觸發(fā)一直不生效,檢查了很多遍的代碼都沒看出什么問題,代碼如下:
<div id="app">
<button v-on:click="IncrHandle">增加</button>
<input v-model="total" placeholder="請(qǐng)輸入內(nèi)容" />
<child v-bind:count="total" v-on:onIncr="IncrHandle"></child>
</div>
Vue.component("child",{
props:['count'],
template:"<button v-on:click='incr'>增加{{count}}</button>",
data: function(){
return {
count: 0
}
},
methods:{
incr: function(){
this.$emit('onIncr')
this.count += 1
}
}
})
new Vue({
el:"#app",
data:{
total: 0
},
methods:{
IncrHandle:function(){
this.total += 1
total("增加1")
},
DncrHandle:function(){
this.total -= 1
}
}
})
經(jīng)過無數(shù)的驗(yàn)證,終于找到了解決辦法:
保證待傳遞的事件名稱為純小寫。不可以使用駝峰j格式。
即:
將v-on:onIncr改為v-on:onincr,將this.emit(′onIncr′)改為this.emit('onIncr')改為this.emit( ′ onIncr ′ )
改為this.emit(‘onincr')
以上這篇Vue $emit()不能觸發(fā)父組件方法的原因及解決就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vscode中Vue別名路徑提示的實(shí)現(xiàn)
這篇文章主要介紹了vscode中Vue別名路徑提示的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
vue項(xiàng)目網(wǎng)頁自適應(yīng)等比例放大縮小實(shí)例代碼
等比例縮放可以在不同的分辨率下都能夠一屏展示,不會(huì)有滾動(dòng)條的問題,也不會(huì)有適配問題,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目網(wǎng)頁自適應(yīng)等比例放大縮小的相關(guān)資料,需要的朋友可以參考下2022-11-11
vue如何實(shí)現(xiàn)路由跳轉(zhuǎn)到外部鏈接界面
這篇文章主要介紹了vue如何實(shí)現(xiàn)路由跳轉(zhuǎn)到外部鏈接界面,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2022-10-10
Vue.prototype全局變量的實(shí)現(xiàn)示例
在Vue中可以使用Vue.prototype向Vue的全局作用域添加屬性或方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06
詳解使用Vue Router導(dǎo)航鉤子與Vuex來實(shí)現(xiàn)后退狀態(tài)保存
本篇文章主要介紹了詳解使用Vue Router導(dǎo)航鉤子與Vuex來實(shí)現(xiàn)后退狀態(tài)保存,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09

