Vue.js 通过vue中的axios请求时未定义函数
我正在尝试进行axios调用,它工作正常,但当我从作用域调用函数时,它会返回我 loadData未定义Vue.js 通过vue中的axios请求时未定义函数,vue.js,axios,Vue.js,Axios,我正在尝试进行axios调用,它工作正常,但当我从作用域调用函数时,它会返回我 loadData未定义 import vSelect from 'vue-select'; export default { props : [], data : () => { return { assets : [], folders : [], parent_i
import vSelect from 'vue-select';
export default {
props : [],
data : () => {
return {
assets : [],
folders : [],
parent_id : 0,
moveParentId : null,
selectedAsset: {},
parentStack : [],
searchTerm : '',
};
},
components: {
vSelect,
},
created() {
this.loadData(this.parent_id);
this.createFolder();
},
methods : {
loadData(parentId) {
axios
.get(
'/api/assets',
{
params: {
parent_id: parentId,
},
},
)
.then((response) => {
this.parentStack.push(parentId);
this.assets = response.data;
})
.catch((error) => {
if (error.response.status === vue.$options.HTTP_STATUS.UNPROCESSABLE_ENTITY) {
}
});
},
createFolder() {
$('#create-folder-button').on('click', function (e) {
let form = $('#create-folder').find('form'),
namefield = form.find('input#name'),
name = namefield.val(),
action = '/assets',
errorelem = form.find('#create-error');
axios
.post(action, {
name: name,
type: 1,
})
.then(() => {
$('#create-folder').modal('hide');
loadData(this.parent_id); //ERROR OCCURS HERE.
}, function (error) {
if (error.response != null) {
if (error.response.status == vue.$options.HTTP_STATUS.UNPROCESSABLE_ENTITY) {
errorelem.html(error.response.status).show();
}
}
});
});
}
这是我的代码。您导入axios了吗?是的!Axios正在工作,但创建Try
this后的问题是函数未定义。loadData(this.parent\u id)
已经尝试过的说\u this4.loadData不是函数
另一件事是,你不应该在Vue内部像那样使用jQuery,因为你不利于Vue的高效DOM管理。