当目标包含对调用文件的引用时,导入mixin时出错?

时间:2019-05-03 14:57:09

标签: vue.js nativescript nativescript-vue

我有一个注销mixin,用作我的Nativescript应用程序主导航的一部分。它通过几个注销功能运行,以清除一些数据,将消息发送回 API 以捕获该数据,依此类推...

将其包含在导航代码中,完全可以按预期工作!

但是,某些API错误(例如400未经授权)应将用户踢出系统,而且还要调用所有相同的注销脚本,以确保退出未完成。

当我在API中包含注销混合时,会收到以下错误消息:

  

控制台错误file:///app/vendor.js:9994:20:[Vue警告]:渲染错误:“ TypeError:未定义不是对象(正在评估'options.components')”   在--->

中找到

我在排除故障方面运气不佳。我尝试了不同的调用导入方式... import api from '~/mixins/api'import api from './api'import {api} from '.api',...

我能够将问题缩小到仅在logout.js中包含API mixin时出现的错误。即使我除去所有其他内容,也只需API import + mixin。

我想知道我是否陷入了无限循环的厄运吗?调用该方法的方法,该方法又调用了该方法...或者如果有一个简单的解决方案被我完全忽略了。

以下是我在应用程序中进行的操作的伪代码:

〜/ mixins / api.js

import logout from '~/mixins/logout';

export default {
    mixins: [logout],
    methods: {
        callAPI(url){
            // API connection stuff...
            // if( response.code === 400 ){
                this.logout();
            // }
        }
    }
};

〜/ mixins / logout.js

import api from '~/mixins/api';

export default {
    mixins: [api],
    methods: {
        logout(){
            // logout scripts...
            this.callAPI('logout');
            this.$navigateTo('login');
        }
    }
};

独立地,一切都很好:)当我尝试进行组合时,我的错误逐渐蔓延。

0 个答案:

没有答案