为了账号安全,请及时绑定邮箱和手机立即绑定

vue获取dom元素

vue获取dom元素

当年话下 2019-02-25 15:12:48
希望获取每一个子元素的高度html    <div class="foods-wrapper" ref="foodsWrapper">      <ul>         <li v-for="item in goods" class="food-list food-list-hook">           <h1 class="title">{{item.name}}</h1>         </li>      </ul>        </div>vue逻辑    mounted() {      this.$nextTick(() => {        this._calculateHeight()      })    },    methods: {      _calculateHeight() {        let foodList = this.$refs.foodsWrapper.getElementsByClassName('food-list-hook')        console.log(foodList)        console.log(foodList.length)// 0      }_calculatrHeight中得到的foodList打印出来如下,length长度为9,但是并不能使用,打印foodList.Length长度为0,求指点
查看完整描述

2 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

this.$nextTick放在你获取到goods数据并赋值之后


// 获取数据

this.getGoods().then(res => {

    this.goods = res.data  // 赋值 触发响应式更新

    this.$nextTick(()=>{  // DOM更新之后获取子元素

        this._calculateHeight()

    })

})


查看完整回答
反对 回复 2019-03-03
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

你console 是在哪console的?

别的函数内部?

你用let 声明? 别的肯定不能访问


查看完整回答
反对 回复 2019-03-03
  • 2 回答
  • 0 关注
  • 4226 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信