vue 循环 内联样式绑定属性值计算。

<li class="emotions_item" v-for="(item, index) in emoji">
    <span class="icon_emotion_sprite" v-bind:style="{ backgroundPositionX: 0, backgroundPositionY: -positionY + 'px' }"></span>
</li>

现在我有个大数组 我循环它的时候

backgroundPositionY: -positionY + 'px'

我希望 positionY 是变化的,我在这儿写计算 {{}} 直接就报错了,我想在上面默认绑定个方法吧。但是循环的时候没有执行到方法。我想执行到方法,我在方法里计算也好嘛,这样看来是行不通。请教下大伙,怎么才能计算到这个 positionY 值呢

阅读 3.5k
3 个回答

v-bind:style="{ backgroundPositionX: 0, backgroundPositionY: setPositionY(index) + 'px' }"

把方法写成这样解决了问题!

是在{{}}执行个方法?如果是普通的计算,可以直接在{{}}里面写,复杂点的就用filters,你可以看下官方文档的

backgroundPositionY: '-'+positionY + 'px'

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