VUE利用vuex模擬實現新聞點讚功能例項

2022-10-07 07:12:10 字數 1107 閱讀 5645

回顧新聞詳細頁

很早我們的新聞詳情頁是在news-detail.vue 元件裡,獲取伺服器資料,然後把資料保持到元件的data 裡,既然我們已經用到了vuex,學習了它的state,我們就應該想到把返回的資料交給state 來儲存。

1.首先在vuex.store 例項化的時候:

state:

},增加乙個newsdetail 物件,newslist 陣列是我們前面用來儲存新聞列表資料的。

2.下面就要看在news-detail.vue 元件裡,怎麼請求資料,然後交給newsdatail :

通過this.$store.state.newsdetail = res.body;就把伺服器返回的新聞詳細資料儲存起來了。

3.那麼模板上怎麼展示?

點讚數:}

}這裡我們要來實現乙個點贊功能

點選「點讚」按鈕,就更改點選數。

其實就是更改newsdetail 裡的agree 屬性。

本文參考文件:

import vuex from 'vuex';

vue.use(vuex);

const vuex_store = new vuex.store(

},mutations:,

setagree(state,agreenum)

},actions:,).then(function (res) ,function(){})}},

getters:)

}}})

在actions裡定義了乙個方法agree傳送網路請求,獲取最新的點讚數。

同時mutations裡定義了乙個setagree方法,用來同步頁面上的點讚數。

agree(context,newsid),).then(function (res) ,function(){})

}重點說明:這裡傳送http請求,和元件裡不一樣,需要注意。

那麼,元件裡怎麼呼叫這裡的agree 方法呢?

methods:

}ne 元件全部**:

點讚數:}

}後端程式增加rcbfwvhoo點讚數,這裡就不贅述了。只需返回乙個json物件:

本文標題: vue利用vuex模擬實現新聞點讚功能例項

本文位址:

vue美團電影模擬實現

由於沒有介面,只能算個半成品。但是我認為需要的請求引數都有獲取,一旦有介面可以輕鬆請求資料。請求引數 中有注釋。doctype html en utf 8 viewport content width device width,initial scale 1.0 x ua compatible co...

Vue資料驅動模擬實現2

一 前言 在隨筆 模擬vue之資料驅動1 結尾處,我們說到如果監聽的屬性是個物件呢?那麼這個物件中的其他屬性豈不就是監聽不了了嗎?如下 倘若user中的name age屬性變化,如何知道它們變化了呢?今兒,就來解決這一問題。通過走讀vue原始碼,發現他是利用observer建構函式為每個物件建立乙個...

利用可變引數模擬實現簡易printf

printf一般是這麼使用的,printf characters c c n a 65 它是可變引數,遇到 s,c,d就格式化輸出 因為我們重點是了解學習可變引數,因此,我們簡化一下,遇到c,s,d就格式化輸出 當然也許你會說那麼想輸出c字元咋辦?其實不難,只要掃瞄的時候向printf學習用 c輸出...