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

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

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

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

Q&A

解決済

1回答

7042閲覧

【Vue.js】「DOMテンプレート内」とはどこか?

kyoruni

総合スコア93

Vue.js

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

1グッド

0クリップ

投稿2020/02/25 04:22

前提・実現したいこと

上記に沿って、コンポーネント名等の変更をしようと思っています。

スタイルガイド内「自己終了形式のコンポーネント」には、下記のように記載されています。

中身を持たないコンポーネントは、単一ファイルコンポーネント、文字列テンプレート、およびJSXの中では自己終了形式で書くべきです。ただし、DOMテンプレート内ではそうしてはいけません。

「単一ファイルコンポーネント」とは、下記のような.vueファイルのことだと思うのですが、「DOMテンプレート内」とは何を指しているのでしょうか?

Parent.vue

vue

1<template> 2 <div class="parent"> 3 Parent 4 <child :message="helloMessage"></child> 5 </div> 6</template> 7 8<script> 9import Child from '../components/Child' 10 11export default { 12 name: 'Parent', 13 components: { 14 Child 15 }, 16 data () { 17 return { 18 helloMessage: 'hello world' 19 } 20 } 21} 22</script>

Child.vue

vue

1<template> 2 <div class="child"> 3 child:{{ message }} 4 </div> 5</template> 6 7<script> 8export default { 9 name: 'Child', 10 props: ['message'] 11} 12</script>
Paalon👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

そこで言っているDOMテンプレートとは,以下のようにHTMLに直接書かれているテンプレートのことです.

html

1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> 5</head> 6<body> 7 <!-- ここから --> 8 <div id="app"> 9 {{ message }} 10 </div> 11 <!-- ここまで --> 12 <script> 13 var app = new Vue({ 14 el: '#app', 15 data: { 16 message: 'Hello Vue!' 17 } 18 }); 19 </script> 20</body> 21</html>

英語版を見ると自己終了形式とはself-closingのことで,<my-component />のように,開始タグと終了タグを一つにしたもののことです.

そのスタイルガイドが言っていることはこういうことです.HTMLでは文法上,特定のタグ以外はself-closingにしてはいけないので,DOMテンプレートではしぶしぶ開始タグと終了タグに分けて書く必要があります.一方,.vueファイルはどうせWebpackのようなツールを使ってJavaScriptに変換されるので,HTMLのルールに従う必要がなく,self-closingにすることができ,そうすることを推奨しています.

投稿2020/02/25 09:24

編集2020/02/25 09:25
karamarimo

総合スコア2555

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

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

kyoruni

2020/02/25 23:52

HTMLの文法上の話と聞いて納得できました。ありがとうございます! .vueファイルの全てに終了タグを付けていたのですが、self-closingの形に修正したいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.32%

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

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

質問する

関連した質問