vue.set- 最帅程序员

<template>
<!-- 取餐柜 购物车组件 -->
    <div class="cartcontrol-cupboard">
    <div class="cart-decrease"  @click.prevent="decreaseCart()"><img :src="reduce" alt="" /></div>
    <div class="cart-count"  >{{items.number}}</div>
    <div class="cart-add" @click.prevent="addCart()" ><img :src="add" alt="" /></div>
    </div>
</template>

<script>
import add from "../../static/img/add.png";
import reduce from "../../static/img/reduce.png";
export default {
  name: "cartcontrol-cupboard",
  data() {
    return {
      add,
      reduce,
      number: 1,
      items: { number: 1, id: "1" }
    };
  },
  methods: {
    decreaseCart() {
      console.log("decreaseCart");
      this.$bus.emit("changeAnimate");
    },
    addCart() {
      console.log("addCart");
      this.$bus.emit("changeAnimate");
      const number = this.items.number++;
      this.$set(this.items, 0, number);
    }
  }
};
</script>

<style scoped lang="scss">
@import "../style/mixin.scss";
.cartcontrol-cupboard {
  @include flex();
  img {
    @include size(44px, 44px);
  }
  .cart-decrease,
  .cart-add {
    padding: 20px;
  }
  .cart-count {
    @include font(26px, "#333333", "");
  }
}
</style>

vue.set

this.$set


1.  要改变的值

2.要改变的值的下标 或者属性

3.要改变的value

可以用于深度监听的一样的效果 改变vue中 内存地址不变 vue监听不到的数据变化的响应


猜你喜欢

转载自blog.csdn.net/weixin_40222803/article/details/80897904