這篇文章主要為大家展示了“vue如何封裝TabBar組件”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“vue如何封裝TabBar組件”這篇文章吧。





做到這,可以發現頁面的基本布局已經實現了,但是item的點擊活躍狀態還沒實現


為了防止替換的內容直接整個替換掉插槽,從而插槽上定義的樣式等也被替換影響,最好在插槽外定義一個div包裹






基本完成,但是發現路由中點擊路徑重復會報錯

報錯原因:
是因為 vue-router ≥3.0 的版本回調格式改為promise,若沒有捕獲到錯誤,控制臺會出現此類報錯警告。
解決方法1:vue-router降級到3.0的版本
npm i vue-router@3.0 -S
解決方法二:
對Router原型鏈上的push、replace方法進行重寫,這樣就不用每次調用方法都要加上catch。
在main.js里面寫入下面內容:
import Router from 'vue-router'
const originalPush = Router.prototype.push
Router.prototype.push = function push(location, onResolve, onReject) {
if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
return originalPush.call(this, location).catch(err => err)
}如果修改了push還是沒有生效,那么可以嘗試replace方法,例如:
const originalReplace = Router.prototype.replace;
Router.prototype.replace = function replace(location) {
return originalReplace.call(this, location).catch(err => err);
};


以上是“vue如何封裝TabBar組件”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。