0
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 3 years have passed since last update.

Vue.jsまとめ⑦ コンポーネントの高度な機能

Posted at

下書きが上限に達しているので仮の状態で投稿しています

子コンポーネントにhtmlを渡す
親、コンポーネントタグ内にhtmlを記述
子、表示したいところにslotタグを記述

slotのスコープはstyleは親子共に、それ以外は親のみ

フォールバックコンテンツ(slotのデフォルトを設定)
slotの中に記述

名前付きスロット(複数のデータを渡せる)
親、
子、

templateで囲っていないところは名無し(default)のslotにまとめて渡される

スロットプロパティで子コンポーネントのデータにアクセスする(基本的には$emitを使う)
子 slotタグ内で
name="名前" v-bind:自由 = "データ"
親 コンポーネントタグ内で
v-slot:名前="変数" #変数はslotPropsを仮に使いがち
#変数にデータが入る、変数は{{ 変数 }}などで使える

v-slot:[名前]で動的なスロット名にできる

v-slot:名前は#名前に省略できる(デフォルトは#defoltとする)

○動的に複数のコンポーネントを切り替える

切り替えたらデストロイされる(内容は保存されない)
デストロイしないためにはkeep-aliveタグの中にcomponentタグを入れる

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?