vue邪道玩法 : 把vue实例存在别的地方,以及可能会遇到的问题
生活随笔
收集整理的這篇文章主要介紹了
vue邪道玩法 : 把vue实例存在别的地方,以及可能会遇到的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一般來說,VUE項目中,this指向VUE實例。
但有的時候,某些代碼會改變this的指向。
這時,可以用一個臨時變量存儲VUE實例。
test1(){var _this = this // 把vue實例的引用存一份var arr = [imageObject,imageObject,imageObject]for (let i in arr) {arr[i].onload = function() {/* 此時的this指向被改變了 */}} }
但有時,你可能不得不在一開始就存一份vue實例的引用。
你可以在 created 階段?
window._this = this然后在 beforeDestroy 階段
window._this = null?
那么問題來了:如果父組件和子組件都聲明了?
window._this = this會怎樣?回答:你的父組件的引用很可能會被子組件覆寫。即,在父組件使用 _this 的時候,所指的會是子組件的VUE實例。
那怎么辦呢?
你可以在父組件里聲明一個對象,用來存儲子組件的引用。
this.CHILD_VM = {key1:CHILD_VM_1, // 子組件 1 的VUE實例的引用key2:CHILD_VM_2, // 子組件 2 的VUE實例的引用 }而在子組件中把存引用的代碼改成:
_this.CHILD_VM.key1 = this?
以上。
轉載于:https://www.cnblogs.com/foxcharon/p/11073342.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的vue邪道玩法 : 把vue实例存在别的地方,以及可能会遇到的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第7.26节 Python中的@prop
- 下一篇: MySql中常用的内置函数