重置vue组件的data数据

在vue组件中,我们经常会遇到恢复data数据的操作,而一个一个去书写成原始值是比较麻烦的。这个时候就可以使用Object.assign()

当Object.assign(A,B)只有2个参数时,则A就会被B给替换。

例如:通过this.$data获取到当前data的数据状态,通过this.$options.data() 获取到data的初始状态。(获取到data后可以链式获取data里的某个对象/属性)

 

 当Object.assign()有多个参数时,则就是合并对象。

const o1 = { a: 1, b: 1, c: 1 };
const o2 = { b: 2, c: 2 };
const o3 = { c: 3 };
 
const obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 },注意属性被后续参数中具有相同属性的其他对象覆盖

 

 

参考:JS中Object.assign()的用法_js assign用法_小小平不平凡的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现切换门店并重置组件数据可以通过以下步骤实现: 1. 在父组件中定义一个 `selectedStore` 变量,用于存储当前选择的门店。 2. 在切换门店时,更新 `selectedStore` 变量的值,并将其传递给子组件。 3. 在子组件中使用 `watch` 监听 `selectedStore` 变量的变化,当变化时,执行重置组件数据的操作。 具体实现如下: 父组件: ```vue <template> <div> <select v-model="selectedStore" @change="onChangeStore"> <option v-for="store in stores" :value="store">{{ store.name }}</option> </select> <child-component :store="selectedStore" /> </div> </template> <script> import ChildComponent from './ChildComponent.vue'; export default { components: { ChildComponent, }, data() { return { stores: [ { id: 1, name: 'Store A' }, { id: 2, name: 'Store B' }, { id: 3, name: 'Store C' }, ], selectedStore: null, }; }, methods: { onChangeStore() { // 切换门店 }, }, }; </script> ``` 子组件: ```vue <template> <div> <p>当前门店:{{ store.name }}</p> <!-- 子组件的内容 --> </div> </template> <script> export default { props: { store: { type: Object, required: true, }, }, watch: { store: { immediate: true, // 立即执行一次 handler() { // 重置组件数据 }, }, }, }; </script> ``` 在子组件中使用 `watch` 监听 `store` 变量的变化,当变化时,执行重置组件数据的操作。由于 `immediate` 属性设置为 true,因此在子组件创建时会立即执行一次。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值