vue 给一个值重置初始值
Fate_Zero 人气:2查了下资料很多都是如下:
1. this.$options.data()
这个可以获取原始的data值,this.$data
获取当前状态下的data,拷贝重新赋值一下就行了。
1 Object.assign(this.$data, this.$options.data());
2.下面写个某个值的初始方法
1 // 重置data原有的数据(封装) 2 export function resetData(vm, attr) { 3 // this.this.xyClassInfo=this.$options.data().xyClassInfo 4 vm[attr] = vm.$options.data()[attr] 5 }
1 import { resetData } from "@/utils/index"; 2 resetData(this, "search"); // 组件内调用 3 4 this.this.xyClassInfo=this.$options.data().xyClassInfo // 单独使用
3. 参考大佬(原文点我)
初始化data对象中的某一个属性
1 this.form = this.$options.data.call().form 2 // or 3 this.form = this.$options.data.call(this).form
值得注意的是
javascript 的call方法如果没有传递第一个参数,this
的值将会被绑定为全局对象。另外,在严格模式下,this
的值将会是 undefined
。从各方面来说,应当显式的使用 .call(this)
的用法
延展
1 Object.assign(this.$data, this.$options.data()) // ❌ props将为undefined 2 3 Object.assign(this.$data, this.$options.data) // ❌ is function 4 5 this.form = this.$options.data.form // ❌ is undefined
加载全部内容