Vueファイル内のcreated
メソッドを使用し、その中でaxios
による非同期通信を実現しようとした場合、created
よりも先にaxiosモジュールを読み込む必要があるかと思います。
しかし、createdメソッド内にimport axios from 'axios'
とすることが出来ず、axiosを読み込めないといったエラーが発生してしまっています。
以下のファイルは、Test.vue
ファイルになります。
<template> <div> <hello></hello> </div> </template> <script> import Hello from '../components/Hello' import axios from 'axios' export default { components: { Hello }, data(){ return{ } }, methods:{ getHostnameFromString(path) { var result = path.replace(/\/g, '/').match(///([^/]*)/); if (!result) return ''; return result[1]; } }, created() { console.log(this.$route.params.url) const hostname = this.$route.params.url axios.post( '/polls/check/' + hostname, ) .then(response => { console.log(response) }) .catch(error => { console.log(error) }) }, } </script>
こちらですが、createdメソッドが実行されるよりも前にモジュールを読み込む方法はありませんでしょうか。
インターネットで検索をかけ調べているのですが、方法が見当たらない状況です。
どなたか、ご存知でしたら教えて頂けましたら幸いです。
追記
エラーメッセージは下記になります
[Vue warn]: Error in created hook: "ReferenceError: axios is not defined" found in ---> <Anonymous> <App> at src/App.vue <Root>
回答1件
あなたの回答
tips
プレビュー