0
methods: {
    A: function() {
        setInterval(function(){ 
            this.B();
        },500)
    },
    B: function() {
        console.log('func B')
    }
}

这样写会报错,怎么实现这样的效果呢?

2017-04-24 提问
2 个回答
3

已采纳

可以使用箭头函数

methods: {
    A: function() {
        setInterval(() => { 
            this.B();
        }, 500)
    },
    B: function() {
        console.log('func B')
    }
}

或者

methods: {
    A: function() {
        setInterval(this.B, 500)
    },
    B: function() {
        console.log('func B')
    }
}
1
methods: {
    A () {
        let that = this;
        setInterval(function(){ 
            that.B();
        },500)
    },
    B () {
        console.log('func B')
    }
}

撰写答案

推广链接