剛接觸 Vue 不久碰到這么一個問題:頁面A有一個方法 func,從頁面A跳轉到頁面B,在頁面B做一系列操作,如果操作成功則主動退回到頁面A并觸發頁面A的 func。我現在是寫了一個 bus (空的 Vue 實例)實現了這個需求,需要在頁面A和頁面B都引入這個 bus,然后在頁面A bus.$on('event', callback),在頁面B bus.$emit('event')。我想問除了這個方法以外有沒有更好的實現方式?
2 回答

HUWWW
TA貢獻1874條經驗 獲得超12個贊
1、父子組件 props
2、同級組件 eventbus
3、vuex 也可以考慮下吧,做全局狀態存儲,或關鍵值存儲
關鍵值存儲也可以考慮 cookie,localstorage,sessionstorage 等,通過關鍵值確認是否執行相關函數。

茅侃侃
TA貢獻1842條經驗 獲得超21個贊
提供另一種思路哈,沒實踐不知是否可行
let runFuncFlag;//運行標志Vue.prototype.setFlag = function (flag) { runFuncFlag = flag }; Vue.prototype.getFlag = function () { return runFuncFlag }; B頁面調用 this.setFlag(參數) A頁面調用let res = this.getFlag();//再判斷res 是否調用func函數 //再清除標志 this.setFlag();
添加回答
舉報
0/150
提交
取消