亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vuepress 怎么監聽路由跳轉后頁面渲染完成?

vuepress 怎么監聽路由跳轉后頁面渲染完成?

尚方寶劍之說 2019-04-18 22:19:15
場景:vuepress的markdown表格寫法很方便,但樣式很不友好,我希望markdown寫法渲染的表格寬度對齊,內容不強制換行,表格外層溢出有滾動條。為了實現這個目標,需要做2步操作:①設置table樣式寬度100%,格子內容不強制換行。②溢出的處理需要在表格外層套個div,設置overflow實現。第①通過修改樣式即可,第②需要通過js去操作dom才能實現。那么問題來了,第②的操作需要在什么時機執行呢,當頁面渲染完畢的時候,怎么監聽這一事件?路由一旦改變,頁面的內容就會刷新,卻沒有觸發window.onload事件,因為vuepress是單頁面的,通過加載js文件來渲染局部內容。我希望能在一個入口處,統一設置,執行第②的操作。目前做法,在enhanceApp.js中監聽路由改變,雖然該做法可以實現功能,但不保險,setTimeout不一定會趕在頁面渲染完畢之后。export default ({router}) => {    router.beforeEach((to, from, next) => {        next();        setTimeout(()=>{            let tables = document.querySelectorAll('#app > .theme-container > .page > .content > table');            tables && Array.from(tables).forEach(table =>{                table.outerHTML = `<div class="table">${table.outerHTML}</div>`;            });        })    })};
查看完整描述

2 回答

?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

$nextTick


查看完整回答
反對 回復 2019-05-19
  • 2 回答
  • 0 關注
  • 2794 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號