在Vue中,要在data里使用this有以下几种方法:1、使用箭头函数,2、在created生命周期钩子中设置data,3、使用Vue 3的Composition API。下面将详细介绍其中一种方法——使用箭头函数。 1、使用箭头函数:因为箭头函数不会绑定自己的this,而是继承自上下文的this,所以可以在箭头函数中访问组件实例的属性。我们可
Vue 项目开发中,在data中定义的数据可以通过this获取,甚至this上也挂载着$data,$el,方便用户开发时直接使用this操作。例如,$el官方文档 中描述:该组件实例管理的 DOM 根节点 根据上一篇文章《createApp之后发生了什么?》中示例,修改App.js中App,window.self = null;export const App = { render() { ...
this.data = response.data; // 箭头函数确保了this指向Vue实例 }); } } 需要注意的情况: 在某些情况下,使用箭头函数可能会导致this指向不正确。例如,在对象方法中,箭头函数会导致this指向全局对象或undefined。 methods: { incorrectUsage: () => { console.log(this.message); // 这里的this指向全局对象或...
在初始化过程中,Vue 将选项参数中的 data 字段赋值给实例的 _data 属性,并将其转化为响应式数据。同时,Vue 通过代理将数据属性绑定到实例上,以便我们可以通过 this 关键字直接访问它们。类似地,methods 字段中的方法也被绑定到实例上,以便我们可以通过 this 关键字直接调用它们这种设计使得我们在 Vue 组件开发中能...
简介:Vue中避免滥用this去读取data中数据 在构造函数Watcher最后会执行实例方法get,在实例方法get中执行pushTarget(this)中给Dep.target赋值的。 而依赖是在Vue页面或组件初次渲染时创建,所以产生的性能问题应该是首次渲染过慢的问题。 三、在何处滥用this去读取data中数据 ...
这里最重要的是括号里面的第一个参数 this ,例如改变 data 中的 selectedOrg 的 selectArr 属性值: this.$set(this, 'selectedOrg', selectArr);
这里可以得出一个结论,在Dep.target存在时,使用this去读取data中数据时会去收集依赖。如果滥用this去读取data中数据,会多次重复地收集依赖,从而产生性能问题。 二、Dep.target什么时候存在 Dep.target是由依赖赋值的。依赖又称为Watcher(侦听者)或者订阅者。在Vue中有三种依赖,其中两种是很常见的,就是watch(侦听器)...
在Vue中,data选项是个好东西,把数据往里一丢,在一个Vue组件中任何一个地方都可以通过this来读取data中数据。 前言 在Vue中,data选项是个好东西,把数据往里一丢,在一个Vue组件中任何一个地方都可以通过this来读取data中数据。但是要避免滥用this去读取data中数据,至于在哪里要避免滥用,如果滥用会导致什么后果,本...
sharedPropertyDefinition.set = functionproxySetter (val) { this[sourceKey][key] =val } Object.defineProperty(target, key, sharedPropertyDefinition) //6、访问vm.key 时 返回了 vm['_data'][key]} 所以在vue中通过this. 方式访问data中的数据时,实际上是返回了this._data中的数据...
简介:【面试题】Vue2为什么能通过this访问到data、methods的属性或方法 在我没接触vue之前我不着调this是啥压根就没有接触过,在我学过了vue之后我知道了this,那时候理解的this就是你要使用data中的属性或调用methods中的方法等其他东西都要用this去调用,那时候其实我还是不知道this是啥,后面慢慢的才知道,当然我知...