2016-09-14 59 views
0

有沒有什麼方法可以覆蓋Vue.js中的mixin函數?覆蓋Vue.js中的mixin函數

也許這是我的錯誤,以面向對象的方式使用Mixins,但我有一個Page組件具有微妙的變化,但共同的功能集。爲了達到這個目的,我使用了AbstractPage組件,並將其作爲每個Page的混合添加。

如果某個特定的Page需要某個功能中稍微不同的行爲,則會出現問題。開箱即用,Vue不會覆蓋parent函數,但它將添加到數組中並順序執行它們。

有什麼方法可以重寫mixins函數嗎?或者有任何解決方法的想法?

感謝

+0

到目前爲止,這是我在做什麼:'if(this._events ['df.submit']。length> 1)return false'。這是一個可怕的解決方案。 –

+1

這些方法應該相互覆蓋。你在談論生命週期方法嗎? –

+0

對不起,這是事件。我不認爲方法互相覆蓋。 –

回答

0

所以,比爾克里斯韋爾在評論中指出,這僅僅是與events等鉤子函數的一個問題。從文檔:

例如,具有相同名稱的掛鉤函數被合併到一個 數組中,以便所有這些函數都會被調用。例如,

但是例如methods不會。從文檔:

期望對象值的選項,例如方法,組件和 指令將被合併到同一個對象中。

解決方案就是從一個事件執行一個方法,而不是執行事件聲明中的邏輯。