3 回答

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
addEventListener可以多次綁定并不會(huì)覆蓋上一個(gè)事件啊,是否是其他地方影響到了?
像這種事件監(jiān)聽我的做法是在根組件監(jiān)聽然后用$on $emit分發(fā)事件
根組件監(jiān)聽并分發(fā)
window.addEventListener('popstate', () => {
this.$root.$emit('popstate')
})
各級(jí)子組件的任意位置監(jiān)聽
this.$root.$on('popstate', () => {
})

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊
難了幾天的bug解決了,原因在與混合開發(fā)用到cordova原生的按鈕,導(dǎo)致在頁(yè)面觸發(fā)物理返回鍵的時(shí)候同時(shí)也觸發(fā)了原生的返回鍵,解決方法就是將原生的返回按鈕功能取消,有前端頁(yè)面進(jìn)行物理返回鍵的事件綁定,因此觸發(fā)返回鍵的結(jié)果就恢復(fù)正常了。
document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown() {
// Handle the back button
}
添加回答
舉報(bào)