为什么使用refs定位dom的方法重复执行?

使用ref定位dom,因为是定位在有v-if、v-for中的DOM节点,所以放在updated中调用了,打印出来之后发现会重复调用七次,有可能是updated更新的原因,目前也找不到控制只执行一次的方法。求助~
代码如下:
// 获取商品编码和商家编码

        getGoods : function () {
            for(let i=0;i<this.$refs.goods.length;i++) {
                app.goodsData = Object.assign({}, app.goodsData, {
                    sugGoodsCode: this.$refs.goods[i].dataset.procode,
                    shopCode: this.$refs.goods[i].dataset.vender  //能够顺利取到data-procode和data-vender中的数据
                })
                app.goodsList.push(app.goodsData);
            }
        }
       

调用在updated中:
updated: function () {

        this.getGoods();
    }
    

后台打印,里面的数据没有问题,就是重复执行的问题存在:
图片描述

阅读 2.6k
1 个回答
推荐问题