在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue 中$on()的this問題

vue 中$on()的this問題

Vue.prototype.bus=new Vue();

    Vue.component('child',{
        template:`<div @click='handleClick'>{{text}}</div>`,
        props:{
            content:[String,Number]
        },
        data(){
            return {
                text:this.content
            }
        },
        methods:{
            handleClick(){
                this.bus.$emit('change',this.text)
            }
        },
        mounted(){
            var _this=this
            console.log(_this);
            this.bus.$on('change',function (msg) {
                    _this.text=msg
                    console.log(this);
            })
        }
    })
    var vm = new Vue({
        el:"#app",
    })

上面代碼中的 this.bus.$on('change',function (msg) {

                    _this.text=msg
                    console.log(this);
            })
        }

里面的回調(diào)函數(shù)里面的this到底是指向誰?希望大佬幫忙解答一下,謝謝

回答
編輯回答
近義詞

是bus,一個(gè)被new 出來的空的Vue對(duì)象,因?yàn)檫@個(gè)事件的回調(diào)是由bus來調(diào)用的。
JSFiddle你可以對(duì)比一下控制臺(tái)的log,bus是不具備VNode的

2017年1月12日 21:59
編輯回答
女流氓
Vue.prototype.bus = new Vue(); // <- 指向這個(gè)實(shí)例

// 也就是說 
this.bus.$on('change',function (msg) {
                    _this.text=msg
                    console.log(this === _this.bus); // true
            })
2018年5月18日 03:16