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

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

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

沒有搭建腳手架時vue組件的使用

 全局組件

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

局部組件

components: {
//局部組件,聲明方式1
    zujian1: {
        template: "<h6>局部組件,聲明方式</h6>" //因為聲明的是字符串直接調(diào)用 <zujian1></zujian1>
    },
//局部組件,聲明方式2
    zujian2: {
        template: "#zujian2",
            data() {
                return {
                    msg: "組件2的值"
                    }
                }            
            },
}
//第二種調(diào)用方式
//因為聲明的不是字符串所以不能直接使用 需要通過標(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> /*為空的時候不能使用,必須要用到模板*/
        </div>
    </div>
</body>
</head>

vue腳手架—組件的使用

為什么用組件

在這里插入圖片描述

需求:想要多個收起 展開的部分

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

  • 代碼重復(fù)
  • 冗余不利于維護(hù)
<template>
  <div id="app">
    <!-- 目標(biāo):點擊展開或收起時,把內(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實例,封裝標(biāo)簽,樣式和代碼

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

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

請?zhí)砑訄D片描述

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

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

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

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

步驟:

1.創(chuàng)建組件

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

封裝結(jié)構(gòu)+樣式+js 組件都是獨立的,為了復(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)簽都可以或者小寫加 - 形式,運行后,會把這個自定義標(biāo)簽當(dāng)做組件解析,使用 組件里封裝的標(biāo)簽替換到這個位置

    <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到獨立的.vue文件中
  • (引入注冊)組件文件==>得到組件配置對象
  • (使用)當(dāng)前頁面當(dāng)做標(biāo)簽使用

vue組件-scoped作用

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

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

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

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

<style scoped>

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

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

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

總結(jié)

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

您可能感興趣的文章:

相關(guān)文章

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

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

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

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

    在日常開發(fā)中,經(jīng)常會遇到這樣的需求:將頁面內(nèi)容生成圖片(分享海報)或者導(dǎo)出報表截圖,因此本文將教你如何在 Vue 項目中,一鍵將 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打造絲滑的滾動控制與驚艷的路由動畫

    Vue Router打造絲滑的滾動控制與驚艷的路由動畫

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

    詳解Vue路由自動注入實踐

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

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

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

    使用Vue完成一個簡單的todolist的方法

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

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

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

    vue項目首屏打開速度慢的解決方法

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

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

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

最新評論

客服| 凤山县| 孝昌县| 晴隆县| 南溪县| 玉树县| 柳河县| 舟山市| 黄骅市| 崇礼县| 枣强县| 西昌市| 东乌| 东乡| 平陆县| 泰来县| 巴林右旗| 吉安县| 永和县| 昌江| 望城县| 仁布县| 布拖县| 临城县| 宁强县| 韶关市| 罗源县| 垣曲县| 沂南县| 临安市| 鸡泽县| 江西省| 榆社县| 慈溪市| 襄城县| 康保县| 盱眙县| 麦盖提县| 原平市| 安阳市| 乌鲁木齐县|