在将控制器包含到组件后,我不确定为什么路由不起作用。所以在我的组件Login.vue
中我有这个代码
...
<script>
import auth from '../controllers/auth'
...
methods: {
...
return auth.doLogin(this);
并在我的控制器身份验证中
doLogin(context) {
axios.post('/post/doAuth', context.login, this.postHeadersJson).then(response => {
...
this.$router.go(redirect);
}).catch(e => {
console.log(e)
context.errors.push({message: e.response.data.message});
});
}
但我只是看到路由器未定义的错误。如何正确使用?
答案 0 :(得分:0)
因此,经过更深入的搜索,我编写了一个没有从控制器路由的解决方案。我使用promise从组件直接路由获取控制器的响应。
// Login.vue
return auth.doLogin(this).then(success => {
this.$router.push(success)
});
// auth.js
doLogin(context, credentials, redirect) {
return new Promise((resolve, reject) => {
axios.post('/post/doAuth', context.login, this.postHeadersJson).then(response => {
...
resolve(...);
}).catch(e => {
reject(...)
});
});
}