javascript - 使用 DOM 给出的 Vue 属性删除对象的属性
问题描述
我将 v-for 与在TreeObject对象node
的所有属性上运行的变量一起使用。如何删除我手中只有这个节点的属性之一?(假设函数无法访问TreeObject)
HTML:
<div v-for="node in TreeObject">
<div>{{ node.name }}</div>
<button @click="Delete(node)">delete</button>
</div>
脚本:
[...]
methods: {
Delete(node) {
// somehow I want to delete node from TreeObject
}
}
解决方案
假设TreeObject
是一个对象数组,它们唯一的定义标识符是它们的name
属性 - 使用该属性来过滤 out
有问题的节点。
If TreeObject
is a prop
on the Component (read-only) - 制作副本TreeObject
并将其设置data
为 say 的属性,DynamicTreeObject
并在template
Or中使用该属性,callback
例如onDelete
将有问题的节点传递给具有访问原始文件TreeObject
并在那里进行删除,然后数据将滴流到您的子组件。
Delete (node) {
this.TreeObject = this.TreeObject.filter(n => n.name !== node.name)
}
推荐阅读
- python - 基于 2 个变量返回数据
- c# - 对象是变量类型还是类中变量的名称?
- sql - 在一组组中查找第一次出现
- java - 使用 Java/SpringBoot 为令牌绑定协议协商启用 TLS 扩展
- python - 抓取特定文本表单网页
- omnet++ - check_and_cast():无法将“inet::physicallayer::INoise*”转换为“const inet::physicallayer::NarrowbandNoiseBase *”
- php - 从表单请求中获取数据并将其作为发布请求发送似乎不起作用
- django - Django 不同的方法()
- pyspark - pyspark udf AttributeError:“NoneType”对象没有属性“rfind”
- react-table - 如何为父元素和嵌套子行应用不同的渲染方式