LoginSignup
0
0

[過去記事]Vue.js v-html 指定された文字列中にhtml要素があったときhtml要素としてふるまう

Posted at

やること

v-htmlディレクティブを用いて文字列中のhtml要素をhtml要素としてふるまわせる。

準備

下記の内容を任意のhtmlファイルに記載して保存します。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <title>Document</title>
</head>
<body>
    <header></header>
    <main>
        <div id="app">

        </div>
    </main>
    <footer></footer>
    <script>
        let app = new Vue({
            el: '#app',
            data(){
                return {

                }
            },
        })
    </script>
</body>
</html>

方法

まずはscript要素内で「str」キーに紐づく「あああ
いいい」を定義します。

<script>
    let app = new Vue({
        el: '#app',
        data(){
            return {
                str: 'あああ <br> いいい'
            }
        },
    })
</script>

div要素内を下記のように記載してv-htmlディレクティブにてキー「str」を指定して呼び出します。

<div id="app">
    <div v-html="str"></div>
</div>

ファイル全体は下記の様になっています。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <title>Document</title>
</head>
<body>
    <header></header>
    <main>
        <div id="app">
            <div v-html="str"></div>
        </div>
    </main>
    <footer></footer>
    <script>
        let app = new Vue({
            el: '#app',
            data(){
                return {
                    str: 'あああ <br> いいい'
                }
            },
        })
    </script>
</body>
</html>

コレで準備は完了です!当該のhtmlファイルをブラウザで開くと下記のように
タグが表示されず改行が行われて表示されています。

Document-22.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0