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

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

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

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

解決済

1回答

641閲覧

LaravelのBladeに組み込んだVueコンポーネントのscriptが実行されない。

tkm0604

総合スコア555

Vue.js

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

0クリップ

投稿2021/11/19 05:56

編集2021/11/19 05:57

home.blade.phpに組み込んだ、Vueコンポーネントのscriptが実行されません。

php

1{{-- home.blade.php --}} 2@extends('layouts.app') 3@section('content') 4<test-component></test-component> 5@endsection

javascript

1<!-- TestComponents.vue--> 2 3<template> 4 <div class="row justify-content-center"> 5 <div id="app">@{{ message }}</div> 6 </div> 7 <div class="row justify-content-center"> 8 <h2>表示テスト</h2> 9 </div> 10</template> 11 12<script> 13var app = new Vue({ 14 el: "#app", 15 data: { 16 message: "TEST", 17 }, 18}); 19</script> 20

home.blade.php内にTestComponents.vueコンポーネントを読み込むように
<test-component></test-component> と記載。

TestComponents.vueの<div id="app">@{{ message }}</div>の箇所に new Vue({})で作成したdataが出力されて、home.blade.php内に表示されると思うのですが、表示結果は下記画像のように

イメージ説明

<div id="app">@{{ message }}</div> に<script></script>で記載した内容が出力されません。

どこを間違えているのでしょうか?
アドバイスお願いします。

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

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

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

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

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

guest

回答1

0

自己解決

単一コンポーネント化した場合は new Vueでは無く、export defaultでした。

javascript

1<script> 2 export default { 3 data() { 4 return { 5 message: 'TEST', 6 } 7 }, 8 } 9 10</script>

とすることで、思い通りの実装ができました。
これに気づかずいろんなサイトをかいつまんではまってしまいました。

単一コンポーネント化した場合は 、export default
そのとき実行したい場合 new Vue

理解して使い分けていきます。

投稿2021/11/19 06:23

tkm0604

総合スコア555

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問