溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vue默認(rèn)插槽的理解及實(shí)例代碼是怎樣的

發(fā)布時(shí)間:2021-11-29 09:12:55 來(lái)源:億速云 閱讀:134 作者:柒染 欄目:開(kāi)發(fā)技術(shù)

vue默認(rèn)插槽的理解及實(shí)例代碼是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

什么是插槽

插槽就是子組件中的提供給父組件使用的一個(gè)占位符,用<slot></slot> 表示,父組件可以在這個(gè)占位符中填充任何模板代碼,如 HTML、組件等,填充的內(nèi)容會(huì)替換子組件的<slot></slot>標(biāo)簽。

默認(rèn)插槽的理解

就是利用 完全標(biāo)簽() 在它完全標(biāo)簽里寫(xiě)相應(yīng)的配置(比如:我們需要的功能)

vue默認(rèn)插槽的理解及實(shí)例代碼是怎樣的

然后利用 默認(rèn)插槽這個(gè)標(biāo)簽 把寫(xiě)好的會(huì)放到這個(gè)插槽里去(這個(gè)插槽一般式存在于子組件的,所以就可以把父組件寫(xiě)好的東西給子組件了)

vue默認(rèn)插槽的理解及實(shí)例代碼是怎樣的

關(guān)于寫(xiě)在完全標(biāo)簽里的配置的樣式我們既可以寫(xiě)在父組件又可以寫(xiě)在子組件中(因?yàn)椋?、樣式寫(xiě)在父組件時(shí)候,樣式已經(jīng)被渲染好了然后放入子組件;2、樣式寫(xiě)在子組件時(shí),把配置放入插槽,而插槽所在子組件有css樣式會(huì)給我們的配置渲染的)

vue默認(rèn)插槽的理解及實(shí)例代碼是怎樣的

代碼片段

①Category.vue

<template>
  <div class="category">
    <h4>{{ title }}分類</h4>

    <!-- 定義一個(gè)默認(rèn)插槽,那么App.vue中相應(yīng)的組件標(biāo)簽里標(biāo)簽體的內(nèi)容會(huì)往這個(gè)插槽中放置 -->
    <slot></slot>
  </div>
</template>

<script>
export default {
  name: "Category",
  props: ["title"],
};
</script>

<style>
.category {
  background-color: skyblue;
  width: 200px;
  height: 300px;
}
h4 {
  text-align: center;
  background-color: orange;
}
</style>

②App.vue

<template>
  <div class="container">
    <Category title="美食">
      <img
        src="https://zqcdn.itzjj.cn/static/skin/mfw0321/static/picture/dj_scv.jpg"
        alt="1"
      />
    </Category>
    <Category title="游戲" :listData="games">
      <ul>
        <!-- 這時(shí)候因?yàn)樽兞恐苯釉赼pp.vue中所以可以直接去遍歷game
        遍歷完了再利用插槽的功能傳遞給Category.vue -->
        <li v-for="(g, index) in games" :key="index">
          {{ g }}
        </li>
      </ul></Category
    >

    <Category title="電影" :listData="films">
      <!--  controls 可以讓video可以播放 -->
      <video
        controls
        src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"
      ></video>
    </Category>
  </div>
</template>

<script>
import Category from "./components/Category";

export default {
  name: "App",
  components: { Category },
  data() {
    return {
      foods: ["火咕", "你肉", "丸子"],
      games: ["紅警在線", "穿越火線", "勁舞團(tuán)"],
      films: ["《教父》", "《拆彈專家》", "《牛逼》"],
    };
  },
};
</script>

<style>
.container {
  display: flex;
  justify-content: space-around;
}

video {
  width: 100%;
}

img {
  width: 100%;
}
</style>

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI