日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue 实现页面静态化

發布時間:2023/12/10 vue 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue 实现页面静态化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實現思路

  • 使用 this.$router.push(location) 來修改 url,完成頁面路由跳轉
  • 使用params來隱式傳遞url的參數,它類似post,url看不出,使用query來傳遞參數的話,類似get,url一定會被格式化為http://www.xxx.com/index?id=123,而不能自定義,以html后綴結尾
  • 代碼示例:

    路由部分

    {path: '/share/:detailId', // path用這種寫法是這個思路實現偽靜態的核心name: 'detailLink',component: ArticleDetail }

    列表頁面事件跳轉部分

    checkDetail: async function (articleId, viewCount) {// 閱讀量自增await countPageViews(articleId, Number(viewCount))// 偽靜態路由跳轉this.$router.push({name: 'detailLink', params: {detailId: articleId + '.html'}})}

    ?

    詳情頁面

    ?

    created: function () {console.log(this.$route)let obj = {}obj.article_id = this.$route.params.detailId.slice(0, -5)// 取文章detail數據this.$store.commit('setArticles', obj)},

    至此,已基本上實現vue的偽靜態需求,理論上可以針對任何頁面做偽靜態

    這里會有一個坑,是這樣的,當你同一個路由的時候,只是參數變化了,變化后需要手動刷新,數據才出來,顯然是達不到需求的

    修復bug,以上面的編碼為示例,邏輯都一樣

    把created里的代碼,抽取到method里面,使用vue的watch監測路由變化

    created: function () {this.getArticleDATA() }, methods: {getArticleDATA: function () {let obj = {}obj.article_id = this.$route.params.detailId.slice(0, -5)// 取文章detail數據this.$store.commit('setArticles', obj)} }, watch: {'$route': 'getArticleDATA' },

    ?

    ?

    總結

    以上是生活随笔為你收集整理的vue 实现页面静态化的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。