javascript - 数据变量更改时克隆到数据变量的道具更新
问题描述
问题:我在 Vue 组件中有一个道具。
props: {
user_info: {
type: Object,
default() {
return {}
}
}
}
我不仅需要使用这个道具来阅读,还需要对其进行一些更改。但我无法更改道具,所以我将其克隆到数据变量
mounted() {
this.clonedUserInfo = {...this.user_info}
}
clonedUserInfo 是 Data 选项中的一个空对象。
但是当我更改 clonedUserInfo 时,我的 prop user_info 也会更改。
那么有什么方法可以从 Props 中阻止这种 Data 依赖?
顺便说一句,如果我克隆的不是 Props 而是 Vuex 状态变量 - 它可以很好地克隆而不更改基本状态变量。
解决方案
你是浅拷贝user_info
。
如果您只有值,则只有 varsuser_info
才能工作,否则您将更新原始值。
你需要深拷贝user_info
。
推荐阅读
- selenium - 用于自动化的无头浏览器的区别
- npm - package.json 中的主键是强制性的吗?
- php - 一旦输入为两位数,PHP/MySQL 查询将不会返回数据
- linux - Linux git clone 问题 - 提示输入密码
- python-3.x - python pathlib operator '/' - 它是如何做到的?
- microsoft-graph-api - WebApi 访问 Exchange 邮箱文件夹 Calendar,Notes,Tasks
- python - Python Speech Recognizer TypeError:“float”和“NoneType”的实例之间不支持“>”
- python - 如何过滤熊猫系列?
- c# - 为 Xamarin 表单创建 iOS 绑定
- jquery - 基于下拉选择 MVC 4 显示值