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

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

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

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

效果如下:

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

邏輯:

由于列表是動(dòng)態(tài)渲染的(for),數(shù)據(jù)是mock隨機(jī)生成,所以綁定點(diǎn)擊事件時(shí),應(yīng)該把當(dāng)前下標(biāo)和item的id都傳到事件上,在data里面聲明空數(shù)組,用來(lái)存放已經(jīng)點(diǎn)擊的id,
點(diǎn)贊點(diǎn)擊事件觸發(fā),先進(jìn)行判斷,
1.當(dāng)前data內(nèi)的數(shù)組是否有這個(gè)點(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)第一個(gè)參數(shù)為下標(biāo),第二個(gè)刪除一個(gè),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) {
? ? ? ? // 沒(méi)找到
? ? ? ? // 執(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>

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

    解決vue項(xiàng)目中某一頁(yè)面不想引用公共組件app.vue的問(wèn)題

    這篇文章主要介紹了解決vue項(xiàng)目中某一頁(yè)面不想引用公共組件app.vue的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    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ū)別詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • vue-element-admin開(kāi)發(fā)教程(v4.0.0之前)

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

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

最新評(píng)論

义马市| 漳平市| 星子县| 壤塘县| 芦溪县| 普宁市| 镇远县| 安多县| 腾冲县| 涪陵区| 恩平市| 临澧县| 永修县| 昌吉市| 自治县| 女性| 伊金霍洛旗| 格尔木市| 固原市| 卢氏县| 博湖县| 南汇区| 通榆县| 陇西县| 弋阳县| 读书| 阳山县| 永定县| 台湾省| 尉氏县| 赤峰市| 巫山县| 佛坪县| 绥中县| 定日县| 文安县| 铜梁县| 师宗县| 云林县| 涿州市| 金乡县|