1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

初心者向けの内容ですが、なんやかんや大事なところです。
この2つの違いはJavaScriptのinnerTextinnerHTMLとの違いと同じ理屈なので、それが分からない方は是非読んでください。

結論

HTML要素を出力する時は必ずx-htmlを使う。

例えばこんなコードがあったとします。

<div x-data="{
    title: "<h1>こんにちは</h1>" 
}" >
    <div x-text="title"></div>
</div>

x-textの場合

上のコードではtitleプロパティの出力にx-textを使っているので、実際に出力されるのは

<h1>こんにちは</h1>

こうなります。h1タグまで「こんにちは:frowning2:」されてしまいます。
不要なタグまで出力してしまって不満げな表情になっちゃうワケね。

x-htmlの場合

逆にx-htmlを使うと

<div x-data="{
    title: "<h1>こんにちは</h1>" 
}" >
    <div x-html="title"></div>
</div>

素直にh1タグが出力されることなく「こんにちは:smile:」します。
ニッコリスマイリーですね~

こんにちは

冒頭で述べたように、これはJavaScriptのinnerTextとinnerHTMLとの違いと同じです。
必ず使い分けるようにしましょう。

まとめ

x-textとx-htmlを甘く見てはいけない(念押し)

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?