Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何解决;未捕获类型错误:无法读取属性';获取';“未定义”的定义;?(Vue.JS 2)_Javascript_Vue.js_Laravel 5.3_Vuejs2_Vue Component - Fatal编程技术网

Javascript 如何解决;未捕获类型错误:无法读取属性';获取';“未定义”的定义;?(Vue.JS 2)

Javascript 如何解决;未捕获类型错误:无法读取属性';获取';“未定义”的定义;?(Vue.JS 2),javascript,vue.js,laravel-5.3,vuejs2,vue-component,Javascript,Vue.js,Laravel 5.3,Vuejs2,Vue Component,我的组件如下所示: methods: { reloadMessage() { setTimeout(function () { this.$http.get(window.BaseUrl + '/message/inbox'); }, 1500); } } Route::group(['prefix' => 'message','as'=>'messeage.'],function(){ Route:

我的组件如下所示:

methods: {
    reloadMessage() {
        setTimeout(function () {
            this.$http.get(window.BaseUrl + '/message/inbox');
        }, 1500);
    }
} 
Route::group(['prefix' => 'message','as'=>'messeage.'],function(){
    Route::get('inbox', ['as'=>'inbox','uses'=>'MessageController@index']);
});
我的路线是这样的:

methods: {
    reloadMessage() {
        setTimeout(function () {
            this.$http.get(window.BaseUrl + '/message/inbox');
        }, 1500);
    }
} 
Route::group(['prefix' => 'message','as'=>'messeage.'],function(){
    Route::get('inbox', ['as'=>'inbox','uses'=>'MessageController@index']);
});
执行代码时,存在如下错误:

methods: {
    reloadMessage() {
        setTimeout(function () {
            this.$http.get(window.BaseUrl + '/message/inbox');
        }, 1500);
    }
} 
Route::group(['prefix' => 'message','as'=>'messeage.'],function(){
    Route::get('inbox', ['as'=>'inbox','uses'=>'MessageController@index']);
});
未捕获的TypeError:无法读取未定义的属性“get”

我该怎么解决呢?

你失去了背景, 使用绑定:

methods: {
    reloadMessage() {
        setTimeout(function () {
            this.$http.get(window.BaseUrl + '/message/inbox');
        }.bind(this), 1500);
    }
} 
或箭头功能:

methods: {
    reloadMessage() {
        setTimeout(() => this.$http.get(window.BaseUrl + '/message/inbox'), 1500);
    }
} 

为什么要这样做?这只是对数据的请求,您应该使用此数据更新某些内容。看来我问错了。但是谢谢你的帮助。现在,我必须解决它