类型错误:无法读取未定义的属性(读取"$router"),此错误是关于什么的?我该如何解决这个问题?



$新年快乐!因此,我在身份验证令牌检索后设置重定向,并不断获得";TypeError:无法读取未定义的属性(读取"$router"("并且用户不被重定向到期望的页面("/仪表板"(。我将身份验证外包给一个dataRequests.user.js文件,然后该文件将转到vue组件。提前谢谢。这是代码:


import common from "./dataRequests.commons";
import { login, inputLogin, inputPassword } from '/src/pages/Index.vue'
let userRequest  = {}

userRequest.authenticate = (inputLogin, inputPassword) => {

return new Promise(() => {
let axios = require("axios");

let config = {
method: 'post',
baseURL: common.baseURL + '/auth/login',
headers: { 
'Content-Type': 'application/json', 
},
data : {
login: inputLogin,
password: inputPassword,
}
};

axios(config)  
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.then(() => this.$router.push(this.$router.redirect || '/dashboard'))

.catch(function (error) {
console.log(error);
//console.log('input login', this.inputLogin)
//console.log('input password', this.inputPassword)
});

console.log('input login', inputLogin)
console.log('input password', inputPassword)

});        
}

export default userRequest;

类似这样的东西:

import common from "./dataRequests.commons";
import { login, inputLogin, inputPassword } from '/src/pages/Index.vue'
import axios from 'axios'
import router from 'router'
let config = {
method: 'post',
baseURL: common.baseURL + '/auth/login',
headers: { 
'Content-Type': 'application/json', 
}
userRequest.authenticate = (inputLogin, inputPassword) => {

const apiClient = axios.create(config)

return new Promise(() => {
apiClient.post(data : {
login: inputLogin,
password: inputPassword,
})
.then(() => router.push...etc

最新更新