vue

vue中怎么重置data?

发布于 2021-01-11 17:11:43
关注者
0
被浏览
388
6 个回答
  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象
    this.$data获取当前状态下的data
    this.$options.data()获取该组件初始状态下的data。
    bject.assign(this.$data, this.$options.data())

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    初始状态下设置data数据的默认值,重置时直接bject.assign(this.$data, this.$options.data())

    说明:
    this.$data获取当前状态下的data
    this.$options.data()获取该组件初始状态下的data(即初始默认值)
    如果只想修改data的某个属性值,可以this[属性名] = this.$options.data()[属性名],如this.message = this.$options.data().message

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。
    Object.assign(this.$data, this.$options.data())

    浅拷贝会影响到初始化的data吗?

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    想问一句,这个使用场景在哪里?真的没碰见过需要重置的情况

    比如,有一个表单,表单提交成功后,希望组件恢复到初始状态,重置data数据。

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    使用Object.assign(),vm.$data可以获取当前状态下的data,vm.$options.data可以获取到组件初始化状态下的data,具体可以看vm.$options

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。
    Object.assign(this.$data, this.$options.data())
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看