Можно ли использовать axios не из asyncData?

Да, можно использовать Axios в Nuxt.js не только внутри метода asyncData. Nuxt.js предоставляет несколько методов, в которых можно использовать Axios, таких как методы жизненного цикла компонента (beforeMount, mounted, updated и др.), а также внутри методов компонента.

Самый распространенный способ использования Axios в Nuxt.js - это через метод asyncData, который позволяет получить данные перед рендерингом компонента на серверной стороне. Он выполняется один раз на сервере при первой загрузке страницы и на клиенте, при переходе между маршрутами.

Вот пример использования Axios внутри метода asyncData:

<template>
  <div>
    <ul>
      <li v-for="post in posts" :key="post.id">{{ post.title }}</li>
    </ul>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  async asyncData() {
    const response = await axios.get('https://api.example.com/posts');
    return {
      posts: response.data
    }
  }
}
</script>

Однако, если вам нужно использовать Axios в других методах компонента, вы можете просто импортировать библиотеку и использовать ее, как в примере ниже:

<template>
  <div>
    <button @click="fetchData">Получить данные</button>
    <ul>
      <li v-for="post in posts" :key="post.id">{{ post.title }}</li>
    </ul>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      posts: []
    }
  },
  methods: {
    async fetchData() {
      const response = await axios.get('https://api.example.com/posts');
      this.posts = response.data;
    }
  }
}
</script>

В данном примере мы импортируем Axios и используем его внутри кастомного метода fetchData. После получения данных мы просто сохраняем их в свойство компонента, чтобы отобразить их на странице.

Кроме того, вы также можете использовать Axios внутри методов жизненного цикла компонента для выполнения запросов AJAX при использовании различных событий, таких как beforeMount, mounted и updated.

В итоге, в Nuxt.js можно использовать Axios не только в методе asyncData, но и в других методах компонента, чтобы получать и обрабатывать данные с удаленного сервера.