猿问

Vue Cli3.0 事件绑定箭头函数无法正确获取到this

模板代码

<div style="position:absolute"
    :style="{
        width:width+'px',
        height:height+'px',
        left:left+'px',
        top:top+'px',
        backgroundColor
    }"
    @mousedown="onMouseDown($event)"></div>

脚本代码

methods:{        onMouseDown:(e)=>{            let count = 0;            this.inDragging = true;//这里的this指定元素而不是期望的组件实例
            window.addEventListener('mousemove',this.onDragging);
        },
}


白板的微信
浏览 2122回答 1
1回答

慕田峪9158850

原因:箭头函数的 this 的指向机制解决:不要用箭头函数&nbsp;&nbsp;&nbsp;&nbsp;onMouseDown(e)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;count&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.inDragging&nbsp;=&nbsp;true;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.addEventListener('mousemove',this.onDragging); &nbsp;&nbsp;&nbsp;&nbsp;},
随时随地看视频慕课网APP

相关分类

Vue.js
我要回答