У меня есть миксин выхода из системы, который используется как часть основной навигации моего приложения Nativescript.Он выполняет несколько функций выхода из системы, чтобы очистить некоторые данные, отправить сообщения обратно в API для захвата этих данных и т. Д. *
Включая его в код навигации, онработает полностью, как и ожидалось!
Однако некоторые ошибки API (например, 400 Unauthorized) должны выгнать пользователя из системы - но также вызвать все те же сценарии выхода из системы, чтобы убедиться, что их выход не наполовину.сделанный.
Когда я включаю миксин выхода из системы с API, я получаю следующее сообщение об ошибке:
Файл ОШИБКИ КОНСОЛИ: ///app/vendor.js: 9994: 20:[Vue warn]: Ошибка при рендеринге: «Ошибка типа: undefined не является объектом (оценивающим« options.components »)», найденным в --->
У меня не было многоудачи в устранении этого.Я пробовал разные способы вызова импорта ... import api from '~/mixins/api'
, import api from './api'
, import {api} from '.api'
, ...
Мне удалось сузить проблему до того момента, когда я просто включил APImixin в logout.js, ошибка выскакивает.Даже если я возьму все остальное, только 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');
}
}
};
Самостоятельно все отлично работает :) Моя ошибка закралась, когда я попытался сделатькомбинация.