本文我們主要和大家分享vue中頁面逆傳值簡單實作方法,我們都知道vue是單頁應用,輕量,不會重複下載資料。當它從一個頁面跳到另一個頁面時,原來的頁面的vue實例和相關數據已經銷毀了,要實現逆傳值就要找到操作的對象及它的一些屬性,希望能幫助到大家。
【需求】
要實現的需求很簡單,頁面從A -> B,用戶在B觸發操作,將一些資料帶回A頁面,在網路上找了好久也只看到有人問,但總找不到很好答案。要實現的效果圖如下:
【聯想】
在ios 開發中,頁面跳到A -> B -> C,到C 頁面後,記憶體中一直儲存著A 和B 頁面的資料和狀態,透過導航堆疊遍歷數組可以拿到先前的頁面進行修改賦值等,另外還有代理,block傳值等操作。
vue是一個單頁應用,輕量級,並且不會重複下載資料。當它從一個頁面跳到另一個頁面時,原來的頁面的vue實例和相關資料已經銷毀了,要實現逆傳值就要找到操作的物件及它的一些屬性。
【嘗試】
在three 頁面中列印路由相關信息,如下:
本來是想在其物件中查看是否有可操作的對象,但發現都不好操作甚至太麻煩,並不像ios 中一樣。然後嘗試對其中一些物件 prototype 或 __proto__ 主動添加想要儲存的數據,實際結果也是要么報錯不通過,要么路由切換時數據就沒了。
這兩天又重新看了看vue的官網指導,發現除了全域路由有對應的時機方法,對於元件路由也有幾個對應的鉤子函數。
在第三個頁面中實作 beforeRouteLeave,列印對應的參數發現確實可以拿到前後路由。如下:
【相關程式碼】
/three 頁面中的input 與變數selVal 綁定,然後在此頁面的路由方法中,判斷如果是回第二個頁面,則將要傳的參數賦值到對應query 或params中,params 中的數值如果用戶刷新當前頁面參數值會丟失,而query則是拼接在url 後面,刷新頁面值也不會丟失。如下:
beforeRouteLeave(to, from, next) { if (to.name == 'Two') { to.query.temp = this.selVal; } next(); }
在/two 頁面的mounted 方法中獲取對應的值
mounted() { if (this.$route.query.temp) { this.temp = this.$route.query.temp; } }
這樣就完了,真想說句靠,怎麼原來就沒發現呢,之前實現這些還想著keepalive 或使用vuex 等等,想想那麼麻煩多了。
ps: 這種簡單的逆傳值是這樣實現沒錯,但如果/two 頁面在進入/three 頁面之前用戶進行了大量臨時性操作,到/three 頁頁回來還需要繼續保持這些大量的操作就比較困難了,這個就等下期博客貼出來了。
相關推薦:
以上是vue中頁面逆傳值簡單實作方法分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器