鍍金池/ 問答/HTML/ vue data 內(nèi)怎么獲得 vue 實(shí)例

vue data 內(nèi)怎么獲得 vue 實(shí)例

我使用了一個(gè)組件,可以在data內(nèi)配置該組件的回調(diào)函數(shù),可是回調(diào)函數(shù)內(nèi)的 this 指向是該組件自身的實(shí)例,請問怎么獲得所在vue的實(shí)例?

回答
編輯回答
編輯回答
孤酒

data是初始化的數(shù)據(jù)啊,配置調(diào)用參數(shù)不是應(yīng)該用prop嗎,然后你可以mounted里merge呀

2018年3月15日 14:47
編輯回答
久礙你

this = vue;
getinfo(vue);
調(diào)用外部函數(shù)將vue值傳出去

  export default {
    data () {
      return {
        test: '1'
      };
    },
    mounted(){
      this = vue;
      getinfo(vue);
    }
  }

function getinfo(vue){
   console.log(vue.test);
}
2017年9月6日 07:10
編輯回答
陌南塵

this.$parent / this.$root

2018年1月1日 14:44
編輯回答
尋仙

使用箭頭函數(shù)寫回掉,或者在外部定義一個(gè)變量賦值為vue實(shí)例,使用該變量進(jìn)行操作

2018年6月21日 11:42
編輯回答
遺莣

幾種辦法,callbind,apply,還有就是直接保存當(dāng)前的this指針
前邊三個(gè)函數(shù)的使用方法可以在MDN上找到

2018年7月23日 14:51
編輯回答
練命

我覺得這是不行的,原因如下:
1.會(huì)導(dǎo)致循環(huán)引用
2.vue在組件依賴收集的時(shí)候可能收集不了依賴。

解決辦法,用computed屬性,或者watch

2017年1月20日 17:25
編輯回答
不舍棄

整得挺繞的,貼個(gè)代碼出來看看

2017年1月8日 20:27
編輯回答
野橘

根據(jù)data,獲取另一個(gè)data,建議用computed屬性。

2017年5月3日 16:48
編輯回答
尐潴豬

看描述不太清楚啥意思,不過想更改this,最簡單的辦法就是把你想要綁的實(shí)例,var that = this/要綁的實(shí)例,
回調(diào)函數(shù)內(nèi)的 this 指向是該組件自身的實(shí)例,在回調(diào)函數(shù)外邊定義 var that = this/要綁的實(shí)例,
在回調(diào)函數(shù)里邊用that

2017年7月20日 02:34