vue2.0 food组件中小球动画出不来。。

来源:18-5 商品详情页实现(5)

安静的沙漠

2017-02-15

在goods组件中小球动画是正常的

food组件中console.log(event.target);结果是http://szimg.mukewang.com/58a417470001f4e504530015.jpg

也不报错,增减价格计算没有问题,不晓得到底是哪里出了问题。。。

<div class="cartcontrol-wrapper">
  <cartcontrol :food="food"></cartcontrol>
</div>

<!--加入购物车-->
<transition name="fade">
  <div @click="addFirst" class="buy" v-show="!food.count || food.count === 0">加入购物车</div>
</transition>
import BScroll from 'better-scroll';
import cartcontrol from 'components/cartcontrol/cartcontrol';
import Vue from 'vue';

export default {
  props: {
    food: {
      type: Object
    }
  },
  data() {
    return {
      showFlag: false
    };
  },
  methods: {
    show() {
      this.showFlag = true;
      this.$nextTick(() => {
        if (!this.scroll) {
          this.scroll = new BScroll(this.$refs.food, {
            click: true
          });
        } else {
          this.scroll.refresh();
        }
      });
    },
    hide() {
      this.showFlag = false;
    },
    addFirst(event) {
      if (!event._constructed) {
        return;
      }
      console.log(event.target);
      // 抛物线小球动画
      this.$emit('add', event.target);
      Vue.set(this.food, 'count', 1);
    }
  },
  components: {
    cartcontrol
  }
};


写回答

4回答

ustbhuangyi

2017-02-16

最好对比一下我的源码,看看哪块有问题

0
2
大脚哈哈哈哈哈
又看了一下,是否是因为监听事件实现的小球动画位于goods里面,在food组件里无法调用,所以子组件cartcontrol触发的add事件需要再次在food组件里监听?
2017-03-24
共2条回复

天5

2017-07-10

解决了 你去 <food @add="addFood" :food="selectedFood" ref="food"></food>
  good组件加上 @add

6
0

野山椒鸡杂

2018-02-28

最后你的问题是什么,我也遇到啦

0
0

我就是那个胖子

2017-05-12

组建缺少 @add="addFood"

0
1
天5
加了这个 然后也在 methods写了 也没有用 ,应该是 之前代码的问题了
2017-07-10
共1条回复

Vue.js2.5+cube-ui重构饿了么App(经典再升级)

掌握Vue1.0到2.0再到2.5最全版本应用与迭代,打造极致流畅的WebApp

9868 学习 · 4162 问题

查看课程