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

vue組件實(shí)例解析

 更新時(shí)間:2017年01月10日 15:57:39   作者:小龍女先生  
Tag組件其實(shí)是一個(gè)很小的組件,業(yè)務(wù)價(jià)值很低,主要用于Vue新手入門(mén)。主要實(shí)現(xiàn)Vue常用的父組件改變子組件的值,view改變model,model的變化反應(yīng)到view上,事件的綁定等功能。下面跟著小編一起來(lái)看下吧

實(shí)現(xiàn)此例您可以學(xué)到:

  • vue-cli的基本應(yīng)用
  • 父組件如何向子組件傳遞值
  • 單文件組件如何引入scss
  • v-on和v-for的基礎(chǔ)應(yīng)用
  • 源碼下載

一、搭建vue開(kāi)發(fā)環(huán)境

1)更換鏡像到cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

2)安裝vue-cli

cnpm install -g vue-cli

3)初始化vue項(xiàng)目

命令模式進(jìn)入項(xiàng)目所在的目錄,如d:\test\,輸入vue init 項(xiàng)目名稱(chēng)即可。如果你想引入vue2.0框架,必須把nodejs、webpack和npm升級(jí)到最新版本。

4)node-sass和sass-loader實(shí)現(xiàn)scss的編譯

用cnpm安裝node-sass和sass-loader,用于編譯scss相關(guān)內(nèi)容。

5)通過(guò)npm install 安裝開(kāi)發(fā)和運(yùn)行依賴(lài)組件

進(jìn)入剛創(chuàng)建好的目錄,執(zhí)行cnpm install安裝所有的開(kāi)發(fā)和運(yùn)行依賴(lài)項(xiàng)

6)通過(guò)npm run dev支持調(diào)試版本

在安裝成功后,直接運(yùn)行npm run dev即可看到demo的運(yùn)行界面。

注意:

1.按照上述步驟搭建最終可以創(chuàng)建好vue項(xiàng)目,但也遇到幾個(gè)坑

2.安裝的nodejs和webpack、npm不是最新版本

二、實(shí)現(xiàn)Tag組件

學(xué)習(xí)一個(gè)新框架,首先是看文檔,最重要還是實(shí)踐。寫(xiě)一個(gè)hello world過(guò)于簡(jiǎn)單,要玩就玩?zhèn)€大的。我們就來(lái)實(shí)現(xiàn)一個(gè)Tag(標(biāo)簽)組件領(lǐng)悟一下vue的強(qiáng)大。

組件需求

  1. 將用戶(hù)輸入的標(biāo)簽信息動(dòng)態(tài)的添加到標(biāo)簽列表區(qū)域。
  2. 同名和空標(biāo)簽不能輸入。
  3. 外部可以控制標(biāo)簽顯示區(qū)域的寬度。

實(shí)現(xiàn)思路

  1. 一個(gè)輸入框,用于接受標(biāo)簽內(nèi)容的輸入;
  2. 一個(gè)列表,用于展示所有輸入的標(biāo)簽信息;
  3. 提供一個(gè)可設(shè)置屬性,用于設(shè)置標(biāo)簽列表的寬度;

具體實(shí)現(xiàn)

1. 模板內(nèi)容代碼

<template>
 <div class="tag-wrap">
 <span>標(biāo)簽:</span>
 <input type="text" id="tag" name="tag" v-model="val" />
 <button id="apply" v-on:click="add" >添加</button>
 <ul class="tag-cont clear" v-bind:style="{width: width}">
 <li v-for="item in cont">{{item}}</li>
 </ul>
 </div>
</template>

1.1 template只是模板語(yǔ)言的標(biāo)記,解析后不會(huì)生成到頁(yè)面,所以?xún)?nèi)容需要用一個(gè)div包裹??;

1.2 template中可以訪(fǎng)問(wèn)Js代碼中data()和Methods、props等相關(guān)屬性;

1.3 props用于父組件向子組件傳遞值,此值可以動(dòng)態(tài)傳遞;

1.4 v-on綁定事件,v-for用于迭代集合。

2. Js代碼

<script>
 export default{
 name: 'tag',
 data () {
 return {
 cont: [],
 val: ''
 }
 },
 methods: {
 add: function () {
 let _val = this.val
 if (_val.length === 0 || this.cont.indexOf(_val) > -1) {
 return
 }
 this.cont.push(this.val)
 }
 },
 props: {
 width: {
 type: String,
 default: 'auto'
 }
 }
 }
</script>

2.1 使用v-model="val"實(shí)現(xiàn)輸入自動(dòng)更新val這個(gè)屬性;

2.2 add方法獲取val這個(gè)屬性的值,然后判斷是否為空,以及是否在已添加標(biāo)簽數(shù)據(jù)中存儲(chǔ),如果不存在則添加到標(biāo)簽數(shù)組中。

2.3 props的width類(lèi)型和默認(rèn)值,限制類(lèi)型為String,默認(rèn)值為auto。

3. Scss代碼

<style lang='scss' scoped >
 @keyframes item-show{
 from{ opacity: 0; }
 }
 .clear{ 
 zoom: 1;
 }
 .clear:after{
 content: '';
 display: block;
 width: 0px;
 height: 0px;
 overflow: hidden;
 clear: both;
 }

 $back-color:#fed; 
 span{
 background: $back-color;
 }
 .tag-cont{
 list-style: none;
 margin: 10px auto;
 padding: 5px;
 border: 1px solid lightblue;
 }
 .tag-cont > li{
 float: left;
 padding: 5px;
 border:1px solid gray;
 border-radius: 10px;
 animation: item-show 1s;
 margin: 10px;
 } 
</style>

3.1 用lang來(lái)標(biāo)記style標(biāo)簽內(nèi)的Css實(shí)現(xiàn)

4. 在App.vue中引入Tag組件,并組件到Vue的Components(組件庫(kù))中,然后在template中以標(biāo)簽的形式引用即可,代碼如下:

<template>
 <div id="app"> 
 <tag width="300px"></tag>
 </div>
</template>
<script>
import Tag from './components/Tag'
export default {
 name: 'app',
 components: {
 Tag
 }
}
</script>

5. 效果圖

學(xué)習(xí)總結(jié)

Tag組件其實(shí)是一個(gè)很小的組件,業(yè)務(wù)價(jià)值很低,主要用于Vue新手入門(mén)。主要實(shí)現(xiàn)Vue常用的父組件改變子組件的值,view改變model,model的變化反應(yīng)到view上,事件的綁定等功能。

還需要繼承深入了解,以及vuex管理vue組件的應(yīng)用,還有組件之間的通信。

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • Vue2.x配置路由導(dǎo)航守衛(wèi)實(shí)現(xiàn)用戶(hù)登錄和退出

    Vue2.x配置路由導(dǎo)航守衛(wèi)實(shí)現(xiàn)用戶(hù)登錄和退出

    之前在Vue的學(xué)習(xí)中通過(guò)路由導(dǎo)航守衛(wèi)控制實(shí)現(xiàn)了用戶(hù)登錄模塊的功能,本文基于Vue2.x進(jìn)行實(shí)現(xiàn),在此將實(shí)現(xiàn)過(guò)程進(jìn)行記錄與總結(jié),感興趣的可以了解一下
    2021-08-08
  • vue3.0?router路由跳轉(zhuǎn)傳參問(wèn)題(router.push)

    vue3.0?router路由跳轉(zhuǎn)傳參問(wèn)題(router.push)

    這篇文章主要介紹了vue3.0?router路由跳轉(zhuǎn)傳參問(wèn)題(router.push),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Vue之全局水印的實(shí)現(xiàn)示例

    Vue之全局水印的實(shí)現(xiàn)示例

    頁(yè)面水印大家或許都不陌生,本文主要介紹了Vue之全局水印的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • vue修改Element的el-table樣式的4種方法

    vue修改Element的el-table樣式的4種方法

    這篇文章主要介紹了vue修改Element的el-table樣式的4種方法,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-09-09
  • vue使用file-saver本地文件導(dǎo)出功能

    vue使用file-saver本地文件導(dǎo)出功能

    這篇文章主要介紹了vue使用file-saver本地文件導(dǎo)出,大家需要安裝xlsx和file-saver,然后創(chuàng)建localExports.js文件,具體實(shí)現(xiàn)代碼跟隨小編一起看看吧
    2022-01-01
  • vue實(shí)現(xiàn)百分比占比條效果

    vue實(shí)現(xiàn)百分比占比條效果

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)百分比占比條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue聲明式導(dǎo)航與編程式導(dǎo)航及導(dǎo)航守衛(wèi)和axios攔截器全面詳細(xì)講解

    Vue聲明式導(dǎo)航與編程式導(dǎo)航及導(dǎo)航守衛(wèi)和axios攔截器全面詳細(xì)講解

    這篇文章主要介紹了Vue聲明式導(dǎo)航與編程式導(dǎo)航及導(dǎo)航守衛(wèi)和axios攔截器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-01-01
  • vue路由傳參-如何使用encodeURI加密參數(shù)

    vue路由傳參-如何使用encodeURI加密參數(shù)

    這篇文章主要介紹了vue路由傳參-如何使用encodeURI加密參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • VUE組件傳參超詳細(xì)講解

    VUE組件傳參超詳細(xì)講解

    vue的特點(diǎn)之一是組件化開(kāi)發(fā),那么問(wèn)題來(lái)了,組件中的數(shù)據(jù)和方法都是獨(dú)立的,我們?nèi)绾芜M(jìn)行組件之間的交互呢。這個(gè)時(shí)候就要用到組件傳參了
    2022-07-07
  • vue3 + vite + ts 中使用less文件全局變量的操作方法

    vue3 + vite + ts 中使用less文件全局變量的操作方法

    這篇文章主要介紹了vue3 + vite + ts 中使用less文件全局變量的操作方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-03-03

最新評(píng)論

郯城县| 土默特左旗| 饶河县| 定襄县| 金山区| 宁化县| 岳池县| 元阳县| 紫云| 淮安市| 伊春市| 宜兴市| 沙河市| 洛南县| 涿鹿县| 荃湾区| 枣强县| 惠水县| 大关县| 惠东县| 宣城市| 临西县| 乡城县| 饶河县| 日土县| 资兴市| 塔河县| 萨迦县| 枣庄市| 科技| 林州市| 拜泉县| 渝北区| 邮箱| 华容县| 山阳县| 普兰店市| 县级市| 望都县| 河源市| 类乌齐县|