質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1393閲覧

javascriptとhtmlは分割し、vueとaxiosを使いたい。

miraimirai

総合スコア44

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2023/08/24 09:01

実現したいこと

javascriptとhtmlを分割し、vueとaxiosを使いたい。

前提

vueとaxiosを利用したいです。

発生している問題・エラーメッセージ

取得したデータ:{{ id }}

該当のソースコード

html

1<!DOCTYPE html> 2<html> 3 <head> 4 <title>Vue Sample App | AI Academy</title> 5 <meta charset="UTF-8"> 6 <!-- Load Vue.js--> 7 <script src="https://unpkg.com/vue@next"></script> 8 <script src="tameshi.js"></script> 9 <!-- Add Axios CDN --> 10 <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> 11 </head> 12 <body> 13 <div id="app"> 14 <p>取得したデータ:{{ id }}</p> 15 </div> 16 </body> 17</html>

javascript,Vue

1Vue.createApp({ 2 data() { 3 return { 4 id: '', 5 }; 6 }, 7// テストとプロトタイプのための無料の偽API を使用 8 created() { 9 axios 10 .get('https://jsonplaceholder.typicode.com/posts/1') 11 .then(response => { 12 this.id = response.data.id; 13 }) 14 .catch(error => { 15 console.error(error); 16 }); 17 }, 18}) 19.mount('#app');

試したこと

htmlと一体では機能しました。

補足情報(FW/ツールのバージョンなど)

mac os 13.4
safariでhtmlを実行しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2023/08/24 10:20

どういう問題が起きていますか?
miraimirai

2023/08/24 12:26

取得したデータ:{{ id }}と表示されます。取得したデータ:1と表示したいです。
miraimirai

2023/08/25 02:07

[Info] You are running a development build of Vue. (vue.global.js, line 10906) Make sure to use the production build (*.prod.js) when deploying for production. [Vue warn]: Failed to mount app: mount target selector "#app" returned null. Not allowed to load local resource: file:///favicon.ico が表示されています。
hoshi-takanori

2023/08/25 02:42

エラーメッセージ (今回は Failed to mount app: mount target selector "#app" returned null.) で検索すると答えにたどり着けることが多いです。今後のご参考まで。
miraimirai

2023/08/25 02:44

ありがとうございます
guest

回答2

0

scriptをasync(もしくはdefer)で読んでみては?

HTML

1<script src="tameshi.js"></script> 2↓↓↓ 3<script src="tameshi.js" async></script>

投稿2023/08/25 01:48

yambejp

総合スコア117674

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

<script src="tameshi.js"></script>をbodyの最後に移動してみてはどうでしょうか。

投稿2023/08/25 00:33

Lhankor_Mhy

総合スコア37421

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

FKM

2023/08/25 01:48 編集

ですね、vueをCDNで用いる場合はDOMを読み込ませてからでないと適用できないはずです。具体的にはDOM上のidの場所に対し、Vueディレクティブをマウントするという仕組みですね。
miraimirai

2023/08/25 02:10

おかげで成功しました。ありがとうございます。
Lhankor_Mhy

2023/08/25 02:19

お役に立てたようで何よりです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問