最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue實(shí)現(xiàn)靜態(tài)頁面點(diǎn)贊和取消點(diǎn)贊功能

 更新時間:2022年02月24日 13:33:17   作者:百事可口  
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)靜態(tài)頁面點(diǎn)贊和取消點(diǎn)贊的功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了vue實(shí)現(xiàn)靜態(tài)頁面點(diǎn)贊和取消點(diǎn)贊的具體代碼,供大家參考,具體內(nèi)容如下

效果如下:

點(diǎn)擊之后 點(diǎn)贊數(shù)量+1,紅心亮
再次點(diǎn)擊,點(diǎn)贊數(shù)量-1,紅心滅

邏輯:

由于列表是動態(tài)渲染的(for),數(shù)據(jù)是mock隨機(jī)生成,所以綁定點(diǎn)擊事件時,應(yīng)該把當(dāng)前下標(biāo)和item的id都傳到事件上,在data里面聲明空數(shù)組,用來存放已經(jīng)點(diǎn)擊的id,
點(diǎn)贊點(diǎn)擊事件觸發(fā),先進(jìn)行判斷,
1.當(dāng)前data內(nèi)的數(shù)組是否有這個點(diǎn)擊的id,用indexof方法查找,如果找不到,執(zhí)行點(diǎn)贊功能,數(shù)量+1,紅心樣式取反,最重要的是將當(dāng)前點(diǎn)贊的id存到data的數(shù)組里 push進(jìn)去。
2.反之找到了,就將他數(shù)量-1,心取消。
for遍歷data的數(shù)組,目的是為了找到當(dāng)前點(diǎn)擊的id的下標(biāo),找到后,直接利用splice刪除的放法,splice(i,1)第一個參數(shù)為下標(biāo),第二個刪除一個,vue組件代碼如下:

<template>
? <div v-if="foodMeishi">
? ? <div
? ? ? class="food-box-content"
? ? ? v-for="(item, index) in foodMeishi"
? ? ? :key="item.id"
? ? >
? ? ? <img class="food-photo" :src="item.foodphotoUrl" alt="" />
? ? ? <div class="head">
? ? ? ? <img :src="item.headImg" alt="" />
? ? ? ? <p class="head-name">{{ item.headName }}</p>
? ? ? </div>
? ? ? <div class="food-content">
? ? ? ? {{ item.content }}
? ? ? </div>
? ? ? <div class="food-bottom">
? ? ? ? <div class="xin" @click="dianzan(index, item.id)">
? ? ? ? ? <i class="iconfont " v-if="item.xin">&#xe607;</i>
? ? ? ? ? <i class="iconfont" v-else>&#xe68b;</i>
? ? ? ? ? <span>{{ item.dianzan }}</span>
? ? ? ? </div>
? ? ? ? <div class="pinglun">
? ? ? ? ? <i class="iconfont">&#xe603;</i>
? ? ? ? ? <span>{{ item.pinglun }}</span>
? ? ? ? </div>
? ? ? </div>
? ? </div>
? </div>
</template>

<script>
export default {
? props: ["foodMeishi"],
? data() {
? ? return {
? ? ? zanListId: [1, 2],
? ? };
? },
? methods: {
? ? dianzan(index, id) {
? ? ? let list = this.zanListId;
? ? ? if (list.indexOf(id) == -1) {
? ? ? ? // 沒找到
? ? ? ? // 執(zhí)行點(diǎn)贊功能
? ? ? ? this.foodMeishi[index].dianzan += 1;
? ? ? ? // 加到數(shù)組中
? ? ? ? this.zanListId.push(id);
? ? ? ? this.foodMeishi[index].xin = !this.foodMeishi[index].xin;
? ? ? } else {
? ? ? ? // 取消點(diǎn)贊
? ? ? ? this.foodMeishi[index].dianzan -= 1;
? ? ? ? this.foodMeishi[index].xin = !this.foodMeishi[index].xin;
? ? ? ? for (var i in this.zanListId) {
? ? ? ? ? if (this.zanListId[i] == id) {
? ? ? ? ? ? this.zanListId.splice(i, 1);
? ? ? ? ? }
? ? ? ? }
? ? ? }
? ? },
? },
};
</script>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue項目中向數(shù)組添加元素的3種方式

    vue項目中向數(shù)組添加元素的3種方式

    這篇文章主要給大家介紹了關(guān)于vue項目中向數(shù)組添加元素的3種方式,在Vue中添加元素到數(shù)組非常簡單,文中通過代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-10-10
  • vue+d3js+fastapi實(shí)現(xiàn)天氣柱狀圖折線圖餅圖的示例

    vue+d3js+fastapi實(shí)現(xiàn)天氣柱狀圖折線圖餅圖的示例

    本文主要介紹了vue+d3js+fastapi實(shí)現(xiàn)天氣柱狀圖折線圖餅圖的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • Vue中對watch的理解(關(guān)鍵是immediate和deep屬性)

    Vue中對watch的理解(關(guān)鍵是immediate和deep屬性)

    watch偵聽器,是Vue實(shí)例的一個屬性,是用來響應(yīng)數(shù)據(jù)的變化,需要在數(shù)據(jù)變化時執(zhí)行異步或開銷較大的操作時,這個方式是最有用的,這篇文章主要介紹了Vue中對watch的理解,需要的朋友可以參考下
    2022-11-11
  • Vue 如何向集合的頭部添加元素

    Vue 如何向集合的頭部添加元素

    在 Vue 中,如果要向集合的頭部添加元素,可以使用 JavaScript 的 unshift 方法或 Vue 的 $set 方法,本文給大家介紹Vue 向集合的頭部添加元素的方法,感興趣的朋友一起看看吧
    2023-12-12
  • Vue實(shí)現(xiàn)記住賬號密碼功能的操作過程

    Vue實(shí)現(xiàn)記住賬號密碼功能的操作過程

    這篇文章主要介紹了Vue實(shí)現(xiàn)記住賬號密碼功能,用戶登錄時若勾選“記住我”功能選項,則將登錄名和密碼(加密后)存入本地緩存,下次登錄頁面加載時自動獲取保存好的賬號和密碼(需解密),回顯到登錄輸入框中,下面分享我實(shí)現(xiàn)的具體步驟,需要的朋友可以參考下
    2022-07-07
  • vuex狀態(tài)持久化在vue和nuxt.js中的區(qū)別說明

    vuex狀態(tài)持久化在vue和nuxt.js中的區(qū)別說明

    這篇文章主要介紹了vuex狀態(tài)持久化在vue和nuxt.js中的區(qū)別說明,具有很好的參考價值,希望大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 解決vue項目中某一頁面不想引用公共組件app.vue的問題

    解決vue項目中某一頁面不想引用公共組件app.vue的問題

    這篇文章主要介紹了解決vue項目中某一頁面不想引用公共組件app.vue的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue實(shí)現(xiàn)Base64轉(zhuǎn)png、jpg圖片格式

    Vue實(shí)現(xiàn)Base64轉(zhuǎn)png、jpg圖片格式

    這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)Base64轉(zhuǎn)png、jpg圖片格式的相關(guān)資料,前段獲取生成的是base64圖片,需要轉(zhuǎn)化為jpg,png,需要的朋友可以參考下
    2023-09-09
  • Vue中key為index和id的區(qū)別示例詳解

    Vue中key為index和id的區(qū)別示例詳解

    這篇文章主要介紹了Vue中key為index和id的區(qū)別詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • vue-element-admin開發(fā)教程(v4.0.0之前)

    vue-element-admin開發(fā)教程(v4.0.0之前)

    本文主要介紹了vue-element-admin開發(fā)教程(v4.0.0之前),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04

最新評論

沽源县| 定远县| 临泽县| 岑巩县| 湖北省| 城市| 荥阳市| 大埔县| 雅安市| 富锦市| 固安县| 鹿泉市| 雅江县| 南汇区| 轮台县| 洛川县| 开江县| 启东市| 多伦县| 阿坝县| 建平县| 大关县| 新余市| 新乡市| 南投县| 仙居县| 札达县| 通河县| 建始县| 府谷县| 闽清县| 远安县| 砀山县| 奎屯市| 济南市| 信丰县| 新和县| 澎湖县| 鸡泽县| 庆安县| 馆陶县|