api - 如何在父级中获取正确的数组对象
问题描述
在我的应用程序中,我有一个父组件,它查询一个 api 来填充一个对象数组。然后将这些具有不同属性的对象通过 v-for 循环传递给多个子组件。在子组件中,我可以通过带有文本输入的表单来编辑对象的某些属性。使用 @change 我将它发送给父级,因此我可以在那里编辑对象并将其发布到 api。但是,如何在数组中找到正确的对象?
我可以循环父中的数组以根据 id(属性之一)找到正确的对象,但这对我来说似乎很慢。有没有办法直接得到正确的对象?还是我让 api 调用子组件中的更新?这似乎不合逻辑,因为父级不会知道对象已更改?
解决方案
在 v-for 循环中,您可以访问数组中的元素索引
<div v-for="(item, i) in items" @change="update(item, i)"></div>
<script>
export default {
data() {
return {
myArray: [{}, {}]
}
},
methods: {
update(item, i) {
this.myArray[i] = item
}
}
}
</script>
推荐阅读
- java - 在 RecyclerView 的单个界面中使用多个 onClick 方法
- django - 值集的 django 模型字段
- go - 可以在生产中使用 golang pprof 而不影响性能吗?
- performance - 如何通过添加单元子句来逐步解决一系列 CP-SAT 问题来实现加速?
- linux - 条件动态链接
- javascript - 如何通过在 Laravel 中传递参数来使用 ajax 重新加载数据表?
- laravel - Laravel 不时冻结
- python - 如何在第一个 epoch 直接使用 map 函数生成的转换,而不是每个 epoch 都执行 map 函数?
- android-studio - 如何从 adb logcat 获取日志,就像在 Android Studio 的运行选项卡中一样?
- ruby-on-rails - Rails 6 - 命名空间中的嵌套资源问题