vue2中使用computed定义一个数组,如何修改数据
时间: 2024-12-25 21:26:03 浏览: 0
在 Vue.js 的版本 2 中,如果你使用 `computed` 定义了一个依赖于其他数据的数组,当你想要修改该数组或数组中的基础数据时,你需要直接操作那些基础数据源。因为 `computed` 属性本身并不持有数据,它只是基于计算规则来反应原始属性的变化。
例如,假设你有一个 `users` 数据源:
```javascript
data() {
return {
users: [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' }
]
};
}
computed: {
filteredUsers: function () {
// 这里假设 `searchTerm` 是另一个 data 或者 prop
return this.users.filter(user => user.name.includes(this.searchTerm));
}
}
```
如果你想修改 `filteredUsers`,你应该更新 `users`:
```javascript
this.users[0].name = 'Charlie'; // 直接修改用户列表
// 或者
this.users.push({ id: 3, name: 'Dave' }); // 添加新的用户
// 如果你想同步改变搜索结果,可以在适当的地方手动触发过滤
if (this.searchTerm) {
this.filteredUsers = this.users.filter(...);
}
```
阅读全文