vuejs2 - this.$http.get 在 vue js 方法中不起作用

标签 vuejs2 vue-component laravel-spark

我正在使用 Laravel + Spark + vue js。

Blade 文件

<draggable class="col-md-12" :list="emergencies" :element="draggableOuterContainer" @end="onEnd">

JS文件

import draggable from 'vuedraggable'
module.exports = {
data() {        
    return {
        emergencies:[]
    };
},
components: {
    draggable,
},
created() {
    this.getEmergencies();
},
methods: {
    getEmergencies() {
        this.$http.get('/ajax-call-url')
            .then(response => {
                this.emergencies = response.data;
            });
    },        
    onEnd: function(evt){
        var counter = 1;
        this.emergencies.forEach(function(user, index) {
            this.$http.get('/ajax-call-url/')
            .then(response => {   
            });    
            counter++;  
        });
    }
}
};

这里我有拖放,在放置时,我调用“onEnd”函数并收到以下错误。

TypeError: this is undefined

这里 this.emergcies.forEach 正在工作,但在 this.$http.get 上出现错误

有什么建议,解决方案是什么?

最佳答案

不要使用函数语法,而是使用箭头函数,因为 this 的范围在函数内部发生变化:

onEnd: function(evt){
    var counter = 1;
    this.emergencies.forEach((user, index) => {
        this.$http.get('/ajax-call-url/')
        .then(response => {   
        });    
        counter++;  
    });
}

检查this进行解释。

关于vuejs2 - this.$http.get 在 vue js 方法中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42064009/

相关文章:

javascript - 如何获取 Vue.js 中选项更改事件的 <b-form-select> 元素的 id (BootstrapVue)

javascript - 是否可以在 VueJS 中将子组件与另一个子组件同步?

javascript - Vue react 数据显示为观察者而不是实际值

javascript - 如何使用 v-for 在每个元素中呈现不同的 CSS 类

javascript - 如何通过 props 传递导入的组件?

javascript - 在 Vue 组件中使用 Controller 数据

css - 带有 VUE vue-onsenui v-ons-segment 的 OnsenUI 不工作。为什么?

php - 拉维尔 Spark : "All My Teams" Billing

php - Spark Laravel 5.4 中未定义的社交名流类

javascript - 类型错误 : Cannot read property '$on' of undefined in q-ajax-bar