最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

沒有搭建腳手架時(shí)vue組件的使用方式

 更新時(shí)間:2023年10月31日 09:16:42   作者:越來越好。  
這篇文章主要介紹了沒有搭建腳手架時(shí)vue組件的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

沒有搭建腳手架時(shí)vue組件的使用

 全局組件

//全局組件 第一種聲名方式
var s = Vue.extend({
template: "<h6>全局組件 第一種聲名方式</h6>"
})
Vue.component("hello", s);
//前臺(tái)標(biāo)簽調(diào)用 <hello></hello>
//全局組件 第二種聲明方式
Vue.component("k", {
template: "<h6>全局組件 第二種聲明方式</h6>"
});
//前臺(tái)標(biāo)簽調(diào)用 <k></k>

局部組件

components: {
//局部組件,聲明方式1
    zujian1: {
        template: "<h6>局部組件,聲明方式</h6>" //因?yàn)槁暶鞯氖亲址苯诱{(diào)用 <zujian1></zujian1>
    },
//局部組件,聲明方式2
    zujian2: {
        template: "#zujian2",
            data() {
                return {
                    msg: "組件2的值"
                    }
                }            
            },
}
//第二種調(diào)用方式
//因?yàn)槁暶鞯牟皇亲址圆荒苤苯邮褂?需要通過標(biāo)簽<template id="zujian2"></template> 標(biāo)簽之間必須要用html標(biāo)簽
如<template id="zujian2"><div>{{msg}}</div></template> 不能沒有html標(biāo)簽就直接調(diào)用
 
<head>
    <template id="zujian2">  //此處要加上組件的id
        <p>{{msg}}</p>
     </template>
<body>
    <!--頁面容器-->
    <div id="my" class="container" v-cloak>
        <div class="container">
            <hello></hello>
            <k></k>
            <zujian1></zujian1>
            <zujian2></zujian2> /*為空的時(shí)候不能使用,必須要用到模板*/
        </div>
    </div>
</body>
</head>

vue腳手架—組件的使用

為什么用組件

在這里插入圖片描述

需求:想要多個(gè)收起 展開的部分

方法1: 復(fù)制代碼

  • 代碼重復(fù)
  • 冗余不利于維護(hù)
<template>
  <div id="app">
    <!-- 目標(biāo):點(diǎn)擊展開或收起時(shí),把內(nèi)容區(qū)域顯示或者隱藏 -->
    <h3>折疊面板</h3>
    <div>
      <div class="title">
        <h4>芙蓉樓送辛漸</h4>
        <span @click="isShow = !isShow">{{ isShow ? '收起' : '展開' }}</span>
      </div>
      <div class="container" v-show="isShow">
        <p>一片冰心在玉壺</p>
        <p>一片冰心在玉壺</p>
        <p>一片冰心在玉壺</p>
        <p>一片冰心在玉壺</p>
      </div>
    </div>
    <!-- 復(fù)制 -->
    <div>
      <div class="title">
        <h4>芙蓉樓送辛漸</h4>
        <span @click="isShow1 = !isShow1">{{ isShow1 ? '收起' : '展開' }}</span>
      </div>
      <div class="container" v-show="isShow1">
        <p>一片冰心在玉壺</p>
        <p>一片冰心在玉壺</p>
        <p>一片冰心在玉壺</p>
        <p>一片冰心在玉壺</p>
      </div>
    </div>
    <!-- 復(fù)制 -->
    <div>
      <div class="title">
        <h4>芙蓉樓送辛漸</h4>
        <span @click="isShow2 = !isShow2">{{ isShow2 ? '收起' : '展開' }}</span>
      </div>
      <div class="container" v-show="isShow2">
        <p>一片冰心在玉壺</p>
        <p>一片冰心在玉壺</p>
        <p>一片冰心在玉壺</p>
        <p>一片冰心在玉壺</p>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isShow: false,
      isShow1: false,
      isShow2: false,
    }
  },
}
</script>

<style scoped>
#app {
  width: 400px;
  margin: 20px auto;
  background-color: yellow;
  border: 4px solid burlywood;
  border-radius: 2px;
  padding: 10px;
}
h3 {
  text-align: center;
}
.title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #ccc;
  padding: 0 5px;
}
</style>

vue 組件-概念

可復(fù)用的vue實(shí)例,封裝標(biāo)簽,樣式和代碼

組件化: 封裝的思想,把頁面上 可復(fù)用的部分,封裝為組件,從而方便項(xiàng)目的開發(fā)和維護(hù)

一個(gè)頁面,可以拆分成一個(gè)個(gè)組件(一個(gè)vue文件),一個(gè)組件就是一個(gè)整體,每個(gè)組件可以有自己獨(dú)立的結(jié)構(gòu),樣式和行為(html,css,js)

請?zhí)砑訄D片描述

vue組件–基礎(chǔ)使用

每個(gè)組件都是一個(gè)獨(dú)立的個(gè)體,代碼里體現(xiàn)為一個(gè)獨(dú)立的vue文件

哪部分標(biāo)簽復(fù)用,就把哪部分封裝到組件內(nèi)

  • 組件內(nèi)template只能有一個(gè)標(biāo)簽
  • 組件內(nèi)的data必須是一個(gè)函數(shù),獨(dú)立作用域

步驟:

1.創(chuàng)建組件

創(chuàng)建組件 components/Pannel.vue

封裝結(jié)構(gòu)+樣式+js 組件都是獨(dú)立的,為了復(fù)用

<template>
  <div>
    <div class="title">
      <h4>芙蓉樓送辛漸</h4>
      <span @click="isShow = !isShow">{{ isShow ? '收起' : '展開' }}</span>
    </div>
    <div class="container" v-show="isShow">
      <p>一片冰心在玉壺</p>
      <p>一片冰心在玉壺</p>
      <p>一片冰心在玉壺</p>
      <p>一片冰心在玉壺</p>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isShow: false,
    }
  },
}
</script>

<style scoped>
.title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #ccc;
  padding: 0 5px;
}
</style>

2.注冊組件

注冊組件,創(chuàng)建后需要注冊后再使用

全局注冊使用

全局入口main.js 在new Vue之上注冊

語法:

// 全局注冊組件
// 1 引入組件
import Pannel from './components/Pannel'
// 2 全局注冊組件
/* 
 Vue.component('組件名',組件對象)
*/
Vue.component('PannelG', Pannel)

全局注冊組件PannelG,就可以當(dāng)做標(biāo)簽在任意vue文件中的template中使用

單雙標(biāo)簽都可以或者小寫加 - 形式,運(yùn)行后,會(huì)把這個(gè)自定義標(biāo)簽當(dāng)做組件解析,使用 組件里封裝的標(biāo)簽替換到這個(gè)位置

    <PannelG></PannelG>
    <PannelG />
    <pannel-g></pannel-g>

局部注冊使用

語法

import 組件對象 from 'vue文件路徑'

export default {
    components:{
        '組件名':組件對象
    }
}

在vue文件中引入,注冊,使用

<template>
  <div id="app">

    <hr />
    <MyPannel></MyPannel>
    <my-pannel></my-pannel>
  </div>
</template>

<script>
// 1引入組件
import MyPannel from './components/MyPannel.vue'
export default {
  //2 局部注冊組件
  components: {
    MyPannel: MyPannel,
  },
}
</script>

組件使用總結(jié):

  • (創(chuàng)建)封裝html+css+js到獨(dú)立的.vue文件中
  • (引入注冊)組件文件==>得到組件配置對象
  • (使用)當(dāng)前頁面當(dāng)做標(biāo)簽使用

vue組件-scoped作用

解決多個(gè)組件樣式名相同,沖突問題

需求:div標(biāo)簽名選擇器,設(shè)置背景色

問題: 組件里的div和外面的div都生效了

解決:給Pannel.vue組件里style標(biāo)簽上加scoped屬性

<style scoped>

在style上假如scoped屬性,就會(huì)在此組件的標(biāo)簽上加上一個(gè)隨機(jī)生成的data-v開頭的屬性

而且必須是當(dāng)前組件的元素,才會(huì)有這個(gè)自定義屬性,才會(huì)被這個(gè)樣式作用到

style上加scoped,組件內(nèi)的樣式只在當(dāng)前vue組件生效

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • VUE中如何優(yōu)雅實(shí)現(xiàn)爺孫組件的數(shù)據(jù)通信

    VUE中如何優(yōu)雅實(shí)現(xiàn)爺孫組件的數(shù)據(jù)通信

    所謂祖孫組件,也就是3層嵌套的組件,下面這篇文章主要給大家介紹了關(guān)于VUE中如何優(yōu)雅實(shí)現(xiàn)爺孫組件的數(shù)據(jù)通信的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Vue實(shí)現(xiàn)一鍵將HTML導(dǎo)出為圖片的完整教程

    Vue實(shí)現(xiàn)一鍵將HTML導(dǎo)出為圖片的完整教程

    在日常開發(fā)中,經(jīng)常會(huì)遇到這樣的需求:將頁面內(nèi)容生成圖片(分享海報(bào))或者導(dǎo)出報(bào)表截圖,因此本文將教你如何在 Vue 項(xiàng)目中,一鍵將 HTML 內(nèi)容導(dǎo)出為圖片(PNG),需要的朋友可以參考下
    2026-03-03
  • vue中的Canvas使用及說明

    vue中的Canvas使用及說明

    文章詳細(xì)介紹了HTML5 Canvas的模板區(qū)、樣式區(qū)和腳本區(qū)的使用方法,包括如何設(shè)置Canvas的寬高、水平居中、獲取Canvas元素、繪制圖形(直線、矩形、圓、文字)、轉(zhuǎn)換為Base64、下載圖片以及加載圖片并添加文字水印等操作
    2025-10-10
  • Vue Router打造絲滑的滾動(dòng)控制與驚艷的路由動(dòng)畫

    Vue Router打造絲滑的滾動(dòng)控制與驚艷的路由動(dòng)畫

    Vue Router 作為 Vue.js 生態(tài)中的核心路由解決方案,提供了強(qiáng)大的滾動(dòng)行為控制和路由過渡動(dòng)畫能力,讓我們能夠打造出令人印象深刻的用戶體驗(yàn),下面小編就和大家簡單介紹一下吧
    2025-12-12
  • 詳解Vue路由自動(dòng)注入實(shí)踐

    詳解Vue路由自動(dòng)注入實(shí)踐

    這篇文章主要介紹了詳解Vue路由自動(dòng)注入實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • vue 實(shí)現(xiàn)剪裁圖片并上傳服務(wù)器功能

    vue 實(shí)現(xiàn)剪裁圖片并上傳服務(wù)器功能

    這篇文章主要介紹了vue 實(shí)現(xiàn)剪裁圖片并上傳服務(wù)器功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-03-03
  • 使用Vue完成一個(gè)簡單的todolist的方法

    使用Vue完成一個(gè)簡單的todolist的方法

    本篇文章主要介紹了使用Vue完成一個(gè)簡單的todolist的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • elementui實(shí)現(xiàn)表格(el-table)默認(rèn)選中功能

    elementui實(shí)現(xiàn)表格(el-table)默認(rèn)選中功能

    這篇文章主要介紹了elementui實(shí)現(xiàn)表格(el-table)默認(rèn)選中功能,本文給大家分享實(shí)現(xiàn)思路結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2024-07-07
  • vue項(xiàng)目首屏打開速度慢的解決方法

    vue項(xiàng)目首屏打開速度慢的解決方法

    這篇文章主要介紹了vue項(xiàng)目首屏打開速度慢的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • 詳解vue父子組件間傳值(props)

    詳解vue父子組件間傳值(props)

    本篇文章主要介紹了詳解vue父子組件間傳值(props),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論

夏津县| 高州市| 河间市| 呼图壁县| 克拉玛依市| 莱芜市| 郧西县| 怀远县| 通州市| 宜川县| 长沙市| 闵行区| 渝北区| 犍为县| 瑞昌市| 莎车县| 专栏| 永德县| 全州县| 马山县| 凤城市| 迭部县| 那坡县| 宣城市| 永清县| 正镶白旗| 仁化县| 施甸县| 神木县| 连城县| 邢台市| 兰溪市| 定西市| 石阡县| 新龙县| 临江市| 迁安市| 民县| 抚松县| 南溪县| 安远县|