<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
今天在給vue3的專案中進行資料繫結的時候,發現我刪除一條記錄頁面不會自動重新整理,還是保留原來的狀態
但是資料已經傳送給後端,後端也完成了響應的處理
這個時候我想到了區域性重新整理,我想vue3是vue2的升級版,那麼部分語法應該是支援的才對,經過嘗試不是很完美
沒有達到自己想要的情況,期間還很多報錯
vue3的生命週期和vue2的生命週期是完全不一樣的
我這裡就簡單介紹一下2者的區別
Vue2與Vue3 最大的區別:Vue2使用選項型別API(Options API)對比Vue3合成型API(Composition API)
舊的選項型API在程式碼裡分割了不同的屬性: data,computed屬性,methods,等等。新的合成型API能讓我們用方法(function)來分割,相比於舊的API使用屬性來分組,這樣程式碼會更加簡便和整潔
。
export default { props: { title: String, }, data() { return { username: "", password: "", }; }, methods: { login() { //登入axios請求處理 }, }, components: { buttonComponent: btnComponent, }, computed: { fullName() { return this.firstName + " " + this.lastName; }, }, };
export default { props: { title: String, }, setup() { const state = reactive({ //資料 username: "", password: "", lowerCaseUsername: computed(() => state.username.toLowerCase()), //計算屬性 }); //方法 const login = () => { //登入axios請求處理 }; return { login, state, }; }, };
Vue2--------------vue3 beforeCreate -> setup() created -> setup() beforeMount -> onBeforeMount mounted -> onMounted beforeUpdate -> onBeforeUpdate updated -> onUpdated beforeDestroy -> onBeforeUnmount destroyed -> onUnmounted activated -> onActivated deactivated -> onDeactivated
setup() :開始建立元件之前,在beforeCreate和created之前執行。建立的是data和method
onBeforeMount() : 元件掛載到節點上之前執行的函數。
onMounted() : 元件掛載完成後執行的函數。
onBeforeUpdate(): 元件更新之前執行的函數。
onUpdated(): 元件更新完成之後執行的函數。
onBeforeUnmount(): 元件解除安裝之前執行的函數。
onUnmounted(): 元件解除安裝完成後執行的函數
若元件被包含,則多出下面兩個勾點函數。
onActivated(): 被包含在中的元件,會多出兩個生命週期勾點函數。被啟用時執行 。
onDeactivated(): 比如從 A元件,切換到 B 元件,A 元件消失時執行。
我們瞭解過了二者的區別,那我們開始解決問題,百度搜素出來的解決方案大部分都是vue2的今天咱們用vue3的方法來實現區域性元件重新整理
首先我們要對app.vue進行修改
程式碼:
<template> <div id="app"> <nav-View v-show="login" /> <router-view v-if="isRouterAlive" /> <!-- 進行v-if判斷 --> <foot-View v-show="login" /> </div> </template> <script> import navView from "@/components/navView.vue"; import footView from "@/components/footer.vue"; import { onMounted, ref, watch ,nextTick,provide,} from "vue";//要引入方法 import { useRouter } from "vue-router"; export default { name: "app", components: { navView, footView, }, created() { console.log("123", this.$route.path); }, setup() { // 區域性元件重新整理 const isRouterAlive = ref(true); const reload = () => { isRouterAlive.value = false; nextTick(() => { isRouterAlive.value = true; }); }; provide("reload", reload); return { isRouterAlive, }; }, watch: { }, }; </script> <style> * { margin: 0px; } #app { font-family: "Avenir", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; } </style>
接下來就是子元件(分頁的呼叫)
程式碼:
<template> <div> <!-- input框輸入值,點選按鈕,看值會不會清空 --> <input type="text"> </div> <button @click="refresh">頁面重新整理</button> </template> <script> import { inject } from "vue"; export default{ setup() { const refresh = inject("reload"); //在方法體中的呼叫方法 // refresh(); return { refresh, }; }, }; </script>
完成了我們想要的頁面區域性重新整理,到此問題解決
到此這篇關於Vue3中進行頁面區域性重新整理元件重新整理的操作方法的文章就介紹到這了,更多相關Vue3頁面區域性重新整理內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45