vue 绑定 style 失败

<li :style="{'width': this.liWidth}" v-for="(item,index) in this.lidata" :key="index" @click="selectLi(index, item.carName)">
    <div class="clearfix">
    <h4 class="wrapLine">{{item.carName}}</h4>
    <p class="wrapLine">{{item.address}}</p>
    </div>
</li>

data: function () {
   return {
     liWidth: 190,
     num: 0
}
mounted: function () {
  var self = this
  var listBoxWidth = $('.list-box').width()
  if (listBoxWidth > 996) {
      self.num = 6
  } else {
     self.num = 4
  }
  self.liWidth = listBoxWidth / self.num
}

vue-cli 环境
没有任何报错,只是li的绑定的style的宽度 不渲染

阅读 3.8k
2 个回答

错误在于v-for 里面的 this 指向了 window . 我也不知道为什么,我以为this会永远指向实例的...现在问题解决了,把this去掉就好了

改成<li :style="{'width': liWidth+'px'}"

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题