vue怎样截取展示数组数据?

<div v-for="(item, index) in cMList" :key=index>
  ……
  ……
  <div v-for="(items, indexs) in item.list" :key=indexs>
    {{items.content}}  //我想只显示前三条数据 
  </div>
</div

上面这样可以输出所有的的数据 但是现在我只想让它输出前三条数据 我改成这样了
v-for="(items, indexs) in item.list.slice(0, 2)"
但是报错了 TypeError: Cannot read property 'slice' of undefined"
这是为什么?

cMList: [
  {
    uid: 10001,
    list: [
        {nickname: 'aaa', content: '666', time: '2019.2.12'},
        {nickname: 'aaa', content: '666', time: '2019.2.12'},
        {nickname: 'aaa', content: '666', time: '2019.2.12'},
        {nickname: 'aaa', content: '666', time: '2019.2.12'},
        {nickname: 'aaa', content: '666', time: '2019.2.12'},
        {nickname: 'aaa', content: '666', time: '2019.2.12'},
        {nickname: 'aaa', content: '666', time: '2019.2.12'}
    ]
  }
]
阅读 14.5k
3 个回答

是你写错了。。。

<div v-for="(item, index) in cMList" :key="index">
    <div v-if="item.list" v-for="(items, indexs) in item.list.splice(0, 3)" :key="indexs">
        {{items.content}}
    </div>
</div>

还是不建议在模板里面写处理逻辑,拿到数据后,处理成三条,再输出就好了,这样逻辑更加清晰。

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