您好,登錄后才能下訂單哦!
這篇文章主要介紹“vue路由第二次進入頁面created和mounted不執行如何解決”,在日常操作中,相信很多人在vue路由第二次進入頁面created和mounted不執行如何解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”vue路由第二次進入頁面created和mounted不執行如何解決”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
因為路由中created和mounted默認會進行緩存的,除非在router.js中配置:keepAlive: false;
這樣是把這個頁面的路由緩存給關閉了;true為開啟,false為關閉;
meta: { keepAlive: false },
還有一種辦法就是使用activated鉤子就可以了
1、將要處理的方法,放在activated函數中
總結
1、router-view路由跳轉使用keep-alive方式
2、created和mounted只執行一次
3、使用activated鉤子,每次進入頁面執行一次
created
:html加載完成之前,執行。執行順序:父組件-子組件
mounted
:html加載完成后執行。執行順序:子組件-父組件
methods
:事件方法執行
watch
:watch是去監聽一個值的變化,然后執行相對應的函數。
computed
:computed是計算屬性,也就是依賴其它的屬性計算所得出最后的值
export default { name: "draw", data(){ // 定義變量source return { source:new ol.source.Vector({wrapX: false}), } }, props:{ //接收父組件傳遞過來的參數 map:{ //type:String }, }, mounted(){ //頁面初始化方法 if (map==map){ } var vector = new ol.layer.Vector({ source: this.source }); this.map.addLayer(vector); }, watch: { //監聽值變化:map值 map:function () { console.log('3333'+this.map); //return this.map console.log('444444'+this.map); var vector = new ol.layer.Vector({ source: this.source }); this.map.addLayer(vector); } }, methods:{ //監聽方法 click事件等,執行drawFeatures方法 drawFeatures:function(drawType){} }
到此,關于“vue路由第二次進入頁面created和mounted不執行如何解決”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。