<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
1.作用:控制路由跳轉時操作瀏覽器歷史記錄的模式
2.瀏覽器的歷史記錄有兩種寫入方式:分別為push和replace,push是追加歷史記錄,replace是替換當前記錄。路由跳轉時候預設為push
3.如何開啟replace模式News
作用:不借助<router-link>
實現路由跳轉,讓路由跳轉更加靈活
具體編碼:
/ /$router的兩個API this.$router.push({ name : 'xiangqing', params :{ id :xxx, title :xXX } }) this.$router.replace({ name : "xiangqing', params :{ id : xxX, title :xXX } }) this.$router.forward()//前進 this.$router.back()//後退 this.$router.go()//可前進也可後退
修改 Banner
<template> <div class="col-xs-offset-2 col-xs-8"> <div class="page-header"> <h2>Vue Router Demo</h2> <button @click="back">後退</button> <button @click="forward">前進</button> <button @click="test">測試一下 go</button> </div> </div> </template> <script> export default { name: "Banner", methods:{ back(){ this.$router.back() }, forward(){ this.$router.forward() }, test(){ this.$router.go(-3) } } } </script>
修改 Message
<!--跳轉路由並攜帶params引數,to的物件寫法--> ...... <button @click="pushShow(m)">push檢視</button> <button @click="replaceShow(m)">replace檢視</button> <script> export default { ...... methods: { pushShow(m) { this.$router.push({ name: 'xiangqing', query: { id: m.id, title: m.title } }) }, replaceShow(m) { this.$router.replace({ name: 'xiangqing', query: { id: m.id, title: m.title } }) } } } </script>
作用:讓不展示的路由元件保持掛載,不被銷燬
具體編碼:
<keep-alive include="News"> <router-view></router-view> </keep-alive>
修改 News 元件,每個訊息後展示輸入框
<template> <ul> <li>news001 <input/></li> <li>news002 <input/></li> <li>news003 <input/></li> </ul> </template>
當我們在後邊輸入框中輸入文字,切換到別的連結,再切回來,會發現 input 內的文字就清空了,因為我們之前說過,當 News 切換走的時候,它已經被銷燬了,我們可以在 beforeDestroy
中列印測試,這裡不做演示
想要快取這個頁面,可以在 News 的最終展示區 Home 中增加標籤router-view
,然後使用 include
標識要快取的元件名
<keep-alive include="News"><router-view></router-view></keep-alive>
再看效果
注意:
1、include
後是元件名稱
2、不寫會快取所有的
3、如果想快取多個,可以寫成陣列
:include="['News','Message']"
作用:路由元件所獨有的兩個勾點,用於捕獲路由元件的啟用狀態activated
路由元件被啟用時觸發deactivated
路由元件失活時觸發
現在的需求是,我們希望在 News 元件周而復始的展示一個文字,之前我們寫過就是使用 setInterval
,然後在 beforeDestroy 中再銷燬這個 setInterval,但是由於我們上一節中,已經把 News 設定了快取,不會走 beforeDestroy 了,所以我們引入兩個新的生命週期勾點
修改 News
<template> <ul> <li :style="{opacity}">歡迎學習Vue</li> <li>news001 <input/></li> <li>news002 <input/></li> <li>news003 <input/></li> </ul> </template> <script> export default { name: "News", data() { return { opacity: 1 } }, activated() { this.timer = setInterval(() => { this.opacity -= 0.01 if (this.opacity <= 0) this.opacity = 1 },16) }, deactivated() { clearInterval(this.timer); } } </script>
到此這篇關於Vue 程式設計式路由導航的實現範例的文章就介紹到這了,更多相關Vue 程式設計式路由導航內容請搜尋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