vue.js:颠倒v-for循环的顺序

问题描述 投票:0回答:1

我正在寻找类似下面的代码的内容,以在用户添加主题的框正下方显示数组中的主题列表。 (最新顶部)我知道我可以取消平移而不是推动更改存储在数组中的主题的顺序,但是有一种方法可以保持原始数组的顺序并只反转显示的主题而不会触发“ [Vue警告]:组件渲染功能中可能有无限的更新循环。”]

<div class="field add-topic">
    <label for="add-topic">Add a Topic (press Tab):</label>
    <input type="text" name="add-topic" @keydown.tab.prevent="addTopic" v-model="newTopic">
</div>
<div v-for="(tpc, index) in topics.reverse()" :key="index">
    <label for="topic">Topics:</label>
    <input type="text" name="topic" v-model="topics[index]">
</div>
vue.js reverse v-for
1个回答
1
投票

slice方法将创建数组的副本。在reverse之前使用它只能反转副本。

topics.slice().reverse();
  <div class="field add-topic">
    <label for="add-topic">Add a Topic (press Tab):</label>
    <input type="text" name="add-topic" @keydown.tab.prevent="addTopic" v-model="newTopic">
  </div>
  <div v-for="(tpc, index) in topics.slice().reverse()" :key="index">
    <label for="topic">Topics:</label>
    <input type="text" name="topic" v-model="topics[index]">
  </div>

更多信息:https://stackoverflow.com/a/30610528/5671919

© www.soinside.com 2019 - 2024. All rights reserved.