普通函数中的的this指向取决于运行该函数的作用域,而箭头函数的this是定义时就固定了。
然而在vue中有一事不明:
<div id="app"> <div v-on:click="onSurprise">惊喜点击</div> <div v-on:click="onSurprise1">惊喜点击1</div></div> <script> var app=new Vue({ el:"#app", data:{ }, methods:{ onSurprise:()=>{ console.log('箭头函数的'+this) }, onSurprise1:function(){ console.log(this) } } }) </script>
分别点击控制台输出
箭头函数绑定的是window,而运行时的函数的作用域是vue
仔细想想好像也对,函数运行时是通过'app.函数名'调用的,所以onSurprise1的this指向app,而app是vue的实例。对于箭头函数,onSurprise是在全局window下定义的,所以this指向window。
作者:fenerchen
链接:https://www.jianshu.com/p/3eabf16aee10
點擊查看更多內容
2人點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦