arrays - 删除索引时的Vue反应性问题
问题描述
我有一个带有 3 个按钮的小 vue 应用程序
<button @click="add(1)">1</button>
<button @click="add(2)">2</button>
<button @click="add(3)">3</button>
将数字添加到数组中
所以通常你可以得到
[1,2,3,1,3]
我将这些输出为列表
<div class="numbers" v-for="(number, index) in numbers">
<span @click="removeNumber(index)">{{ number }}</span>
</div>
但是我的删除号码方法可以做到这一点
removeNumber(index) {
Vue.delete(this.numbers, index ); // I have also used splice here
},
数据(数字)显示了正确的结果,但是 UI 总是删除最后一项而不是我想要的。
所以如果我有
numbers = [1,2,3]
我试图删除数字 2。数据是正确的,但 UI 总是只删除数字 3。
我怀疑这是一个反应性问题,但无法解决。我还尝试将 Vue.delete 包装在 nextTick()
解决方案
推荐阅读
- c# - 无法在 C# 中解析嵌套的 Json 文件
- algorithm - 基于有向图树建立列表的年表
- javascript - 如何在终端中发送请求?
- java - 使用 maven 将日志级别注入 logback.xml
- javascript - 在不同的js页面中定义Vue方法函数
- angular - Angular Jasmin ObjectSpy 不是函数
- moodle - 当学生开始课程或完成课程时,如何获得 Moodle 的回复?
- javascript - Jquery 测试套件没有通过
- python - Python:如何更新散景中的数据选择?
- pentaho - 在转型 Pentaho 中处理 2700 万条记录