控制器

时间:2018-06-16 21:29:59

标签: vue.js routing

在将控制器包含到组件后,我不确定为什么路由不起作用。所以在我的组件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});
    });
}

但我只是看到路由器未定义的错误。如何正确使用?

1 个答案:

答案 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(...)
});
    });
}