关于vue数据驱动的问题?

问题与需求:都说vue是数据驱动,那么对于类似于手风琴的需求(通过点击某个li,展示对应li里面的内容,在不操作dom的情况下如何通过数据驱动达成呢?)

比如以下结构,点击对应的li元素其里面的文本显示,同时其他兄弟li里的文本隐藏。

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
</ul>
阅读 2.2k
3 个回答
<ul>
   <li v-for="(el, idx) in list"
       @click="() => triggerIdx = idx"
   >{{idx === triggerIdx? el : '' }}</li>
</ul>

data () {
    return {
        list: [0,1,2,3],
        triggerIdx: 0
    }
}

数据驱动,说白了,就是利用ViewModel里面的数据,来控制DOM的样式,间接的操作DOM,楼上代码示例很清晰明了

可以通过更改data
使用v-if 或者动态:class控制元素可视

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