Вы используете global mixin , что означает, что каждый компонент в вашем приложении будет выполнять этот вызов axios get
при подключении.Так как на вашей странице есть несколько компонентов, неудивительно, что звонок совершается несколько раз.Здесь вам нужно либо:
1) создать обычный миксин и использовать его только в компоненте master / container / page на каждом маршруте, который фактически должен извлекать данные, предоставив опцию mixins: [yourMixinsName]
,Затем этот компонент может обмениваться данными с другими компонентами на странице.
2) Если ваши данные общие для страниц, лучше использовать глобальное хранилище, такое как Vuex , чтобы упростить состояниеуправление.
На заметку : Обычно лучше обрабатывать инициализацию данных в хуке created
.Обработка его в хуке mounted
может привести к некоторым подводным камням, которые включают в себя повторные вызовы, среди прочего, из-за порядка выполнения хуков родительского / дочернего жизненного цикла.Пожалуйста, обратитесь к этой статье для получения дополнительной информации по этому вопросу.