vue重置data
2023-02-18 16:41:00 时间
没有爱情,可千万不要结婚——奥斯汀
场景:需要重置已经更改后的data
官方文档:
https://v2.cn.vuejs.org/v2/api/#data
其中提到可以通过调用data
函数得到一个全新的副本对象
https://v2.cn.vuejs.org/v2/api/#vm-options
然后我们可以通过$options
获取用于当前 Vue 实例的初始化选项,因此通过
this.$options.data()
能够得到最初定义data
的一个全新的副本对象(这里的this
指向vue
实例)
再使用Object.assign
Object.assign(this.$data, this.$options.data())
即可重置data
在某些情况下,this.$options.data()
的this
指向有问题,可以使用
Function.prototype.call()
处理
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/call
例如
Object.assign(this.$data, this.$options.data.call(this))
相关文章
- 7000+字图文并茂解带你深入理解java锁升级的每个细节
- 全文手敲代码,教你用Java实现扫雷小游戏
- 4种方法教你如何查看java对象所占内存大小
- 手绘图解java类加载原理
- Java中的线程到底有哪些安全策略
- Java中观察者模式与委托,还在傻傻分不清
- 一图详解java-class类文件原理
- Java遇上SPL:架构优势和开发效率,一个不放过
- 长篇图解java反射机制及其应用场景
- [java并发编程]基于信号量semaphore实现限流器
- java并发编程-StampedLock高性能读写锁
- 【java并发编程】ReentrantLock 可重入读写锁
- 【java并发编程】Lock & Condition 协调同步生产消费
- Java synchronized对象级别与类级别的同步锁
- java并发编程JUC第十二篇:AtomicInteger原子整型
- java并发编程JUC第十一篇:如何在线程之间进行对等数据交换
- java并发编程JUC第十篇:CyclicBarrier线程同步
- java并发编程JUC第九篇:CountDownLatch线程同步
- java并发编程工具类JUC第八篇:ConcurrentHashMap
- java并发编程工具类JUC第七篇:BlockingDeque双端阻塞队列