摘要:前文上篇中篇地址現在只剩下把東西展示出來了頁面這里有四種頁面其實是四個組件文章,雜談,收藏,具體的文章或雜談前三個雖然布局一樣,但功能有細微差別,同時考慮到以后可能要針對不同種類做不同的布局方法我還是定義了三個組件以及具體的那個可以看到它們
前文
上篇:https://segmentfault.com/a/11...
中篇:https://segmentfault.com/a/11...
github地址:https://github.com/ssevenk/ss...
現在只剩下把東西展示出來了
頁面這里有四種頁面(其實是四個組件):
文章,雜談,收藏,具體的文章或雜談
前三個雖然布局一樣,但功能有細微差別,同時考慮到以后可能要針對不同種類做不同的布局方法
我還是定義了三個組件
ShowBlogs、ShowEssays、ShowArticles
以及具體的那個
TheOne
可以看到它們共用一個抬頭的logo和導航欄
所以我把這一塊部分寫進front組件里
剩下的部分用路由決定展示哪一個組件
使用嵌套路由
這個很簡單,就在最開始請求后端獲取到數據后
created() { this.getData(); }, methods: { getData() { this.$axios.get("/data/blog").then(res => { this.blogs = res.data; this.show = this.blogs; }); }
用v-for將router-link循環出來
每一個數據都是一個link,可以跳轉到具體的內容頁面
分頁{{ item.date }} {{ item.title }}
在上面的代碼中你應該注意到了,看到了一個很熟悉的東西
show.slice((currentPage-1)*pageSize,currentPage*pageSize)
這是我們在后臺管理系統中用過的分頁
這里不再贅述
不過搜索功能有點和后臺管理不一樣
這一次我定義了一個show數組
點擊搜索之后,調用函數來進行搜索,把搜索出來的結果存放在show中
所以我們展示的一直都是show數組
由于三個頁面都用到了搜索框
所以我把搜索框多帶帶做成了一個組件
并沒有引入到main.js中使其成為全局組件
因為我們希望它是作為ShowBlogs、ShowEssays、ShowArticles這三個組件的子組件存在的,方便調用父組件提供的方法
import mySearch from "./mySearch";
每個組件都引入一次
點擊搜索時,向父組件發射搜索框里的內容,并調用父組件的方法
//mySearch.vue methods:{ search() { this.$emit("search",this.content) } }
在父組件中
methods:{ searchfor(s) { this.show = (this.blogs.filter(item => { if (item.title.includes(s)) { return item; } })); }}
針對每個組件,搜索框的顏色不一樣
這里用$route.path來判斷
寫在搜索框的組件里
用path來決定使用哪種樣式
具體文章或雜談
獲取后端送來的數據(字符串)
調用simpleMDE的原型方法將其轉換為html格式
this.contentMarkdown=SimpleMDE.prototype.markdown(this.theOne.content)
用v-html展示出來
評論功能
建立輸入框,供讀者發布評論
每篇文章或者雜談都有屬于自己的comments數組
只需要將這個新的評論存進去就可以
pushComment() { if (this.comment.name && this.comment.content) { var comment = { name: this.comment.name, content: this.comment.content, date: Math.random() .toString(36) .substr(2) }; this.theOne.comments.push(comment); this.$axios.post(`/data/${this.kind}/${this.$route.params.id}`, { id: this.$route.params.id, title: this.theOne.title, content: this.theOne.content, comments: this.theOne.comments }); } this.comment.name = ""; this.comment.content = ""; }
這里在存入前,先定義了一個局部變量,把輸入框的值賦值給它
再把這個局部變量存進去
如果直接把輸入框的值存進去,那么雙向綁定依舊存在
輸入框內容修改,已經存進去的評論也會跟著變
點擊跳轉外部鏈接
至此,我的個人博客項目算是完成了
還有很多需要優化的地方,比如管理頁面的密碼認證,頁面布局的合理性與美觀,移動端響應式設計,今后的上線部署等等
不過也算完成了一開始預期的目標了,學過的東西都派上了用場
繼續努力學習~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/54993.html
摘要:前文上篇中篇地址現在只剩下把東西展示出來了頁面這里有四種頁面其實是四個組件文章,雜談,收藏,具體的文章或雜談前三個雖然布局一樣,但功能有細微差別,同時考慮到以后可能要針對不同種類做不同的布局方法我還是定義了三個組件以及具體的那個可以看到它們 前文 上篇:https://segmentfault.com/a/11...中篇:https://segmentfault.com/a/11......
摘要:前文上篇中篇地址現在只剩下把東西展示出來了頁面這里有四種頁面其實是四個組件文章,雜談,收藏,具體的文章或雜談前三個雖然布局一樣,但功能有細微差別,同時考慮到以后可能要針對不同種類做不同的布局方法我還是定義了三個組件以及具體的那個可以看到它們 前文 上篇:https://segmentfault.com/a/11...中篇:https://segmentfault.com/a/11......
摘要:前文上篇中篇地址現在只剩下把東西展示出來了頁面這里有四種頁面其實是四個組件文章,雜談,收藏,具體的文章或雜談前三個雖然布局一樣,但功能有細微差別,同時考慮到以后可能要針對不同種類做不同的布局方法我還是定義了三個組件以及具體的那個可以看到它們 前文 上篇:https://segmentfault.com/a/11...中篇:https://segmentfault.com/a/11......
摘要:前言學習前端也有一段時間了做個個人博客網站吧正好總結練習一下這段時間的所學文章很長,會拆成三篇來講項目地址效果后臺管理系統前端頁面架構可以看到,在整個項目中,沒有頁面的跳轉只有前后端的數據交換,所有的頁面更新都是組件更新和數據更新后端只對數 前言 學習前端也有一段時間了做個個人博客網站吧正好總結練習一下這段時間的所學文章很長,會拆成三篇來講 項目github地址:https://git...
摘要:前言學習前端也有一段時間了做個個人博客網站吧正好總結練習一下這段時間的所學文章很長,會拆成三篇來講項目地址效果后臺管理系統前端頁面架構可以看到,在整個項目中,沒有頁面的跳轉只有前后端的數據交換,所有的頁面更新都是組件更新和數據更新后端只對數 前言 學習前端也有一段時間了做個個人博客網站吧正好總結練習一下這段時間的所學文章很長,會拆成三篇來講 項目github地址:https://git...
閱讀 2861·2021-10-14 09:50
閱讀 1218·2021-10-08 10:21
閱讀 3646·2021-10-08 10:16
閱讀 3063·2021-09-27 14:02
閱讀 3135·2021-09-23 11:21
閱讀 2109·2021-09-07 10:17
閱讀 407·2019-08-30 14:00
閱讀 2105·2019-08-29 17:26