vue中如何选择是否设置某个style

目前模版上是这样的

<div v-for="item in items">
 <div :style="{
  backgroundImage: 'url(\'' + item.img + '\')'
 }"></div>
</div>

由于items是异步拉取的,所以url内一开始是为空的,这也就导致了某些浏览器会发送一个当前页面的请求,甚至是两个。http://www.lai18.com/content/...

尝试过几个办法:
判断item.img为空,设置为1px的透明图片。
判断item.img为空,设置为none。
判断item.img为空,设置为url(about:blank)。

最后还是觉得,是否可以通过判断item.img是否为空,再决定是否设置:style的backgroundImage,但是不知道在vue的模版上应该怎么写,求助

阅读 6.3k
2 个回答

我觉得可以用computed方法设置class或者style的对象

clipboard.png

<div v-for="item in items">
 <div v-if="item.img=='null'">  
  <div :style="{backgroundImage: 'url('默认图片显示')'}"></div>
 </div>
 <div v-else> 
  <div :style="{backgroundImage: 'url(\'' + item.img + '\')'}"></div>
 </div>
</div>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题