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

vue 自定義組件的寫法與用法詳解

 更新時間:2020年03月04日 10:07:16   作者:孔三胖  
這篇文章主要介紹了vue 自定義組件的寫法與用法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值 ,需要的朋友可以參考下

三個技能,父組件 —> 子組件傳值(props)、子組件 —> 父組件傳值(emit用來使這個獨立的組件通過一些邏輯來融入其他組件中。舉個具體點的例子,假如你要做一輛車,車輪是要封裝的一個獨立組件,props指的就是根據整個車的外形你可以給輪子設置一些你想要的且符合車風格的花紋,圖案等;而$emit的作用則是讓這些輪子能夠和整輛車完美契合的運作起來。

(1)使用props可以實現(xiàn)父子組件之間的傳值
(2)使用this.$emit()可是實現(xiàn)子組件調用父組件的方法

一.在commponents文件創(chuàng)建組件文件

二.組件代碼(寫法)

index.vue

<template>
  <div class="cusdealed">
    <div class="submited" v-if="showStatus==1">
      <div class="submitRes">
        <img class="resImg" src="../../common/img/repectSubmit.png" alt="">
      </div>
      <div class="submitTip tipwidth">該單據已經提交過了,不用重復提交哦!</div>
    </div>

     <div class="submited" v-if="showStatus==2">
      <div class="submitRes">
        <img class="resImg" src="../../common/img/invalid.png" alt="">
      </div>
      <div class="submitTip">單據已失效,不能掃單入庫!</div>
    </div>

    <div class="submited" v-if="showStatus==3">
      <div class="submitRes">
        <img class="resImg" src="../../common/img/invalid.png" alt="">
      </div>
      <div class="submitTip">找不到該單據,不能掃單入庫!</div>
    </div>
    
  </div>
</template>
<script type="text/javascript" src="./logic.js"></script>
<style lang="less" scoped>
  @import './style.css';
</style>
style.less

//樣式文件
@import '../../common/less/px2rem.less';
@import '../../common/less/base.less';

.cusdealed {
 .submited {
  .submitRes {
   .px2rem(150);
   width: @px2rem;
   height: @px2rem;
  }

  .submitRes {
   .px2rem(227);
   margin: @px2rem auto 0;

   .resImg {
    width: 100%;
    height: 100%;
    display: block;
   }
  }

  .submitTip {
  .px2rem(58);
  //  height: @px2rem;
   font-family: PingFangSC-Regular;
   font-weight: 400;
   color: rgba(51, 51, 51, 1);
   line-height: @px2rem;
  }
  .submitTip{
    .px2rem(32);
    font-size: @px2rem;
  }
  .tipwidth{
    .px2rem(384);
    width: @px2rem;
  }
  .submitTip{
    .px2rem(50);
    margin: @px2rem auto 0;
  }
 }
}
logic.js

//邏輯文件
import { Spinner } from 'vux'

export default {
  name: 'cusDealing',
  data() {
    return {
     showStatus:1
    }
  },
  components: {
    Spinner,
  },
  props: {
    // showStatus: Number
   },
   computed: {
  
   },
   watch: {
    showStatus(val) {
     console.log(val, 'showStatus---')
     return val;
    }
   },
  methods: {
    
  },
  mounted() {
   
  }
}

三.用法

引入組件

 頁面使用

html:

 <!-- 處理完彈窗 -->
  <div class="dealed" :style="'padding-top:'+marginTop+'px;height:'+bodyheight+'px;'" v-if="dealStatus==2">
    <div class="dealedContent">
      <Cusdealed :showStatus="showStatus"></Cusdealed>
      <div class="Iknow" @click="Iknow">我知道了</div>
    </div>
  </div>

js:

效果

好了,看下正文。下面結合日常生活給大家講下道理。

在網上經??吹接信笥言趩栕约耗懿荒軐憊ue組件 如果可以怎么應用到自己的項目之中呢!我覺得吧這個事兒就和用煮大米飯是一個道理的

1. 首先作大米飯我們得有米吧 要不 巧婦難為無米之炊啊 因此先買好我們自己的大米也就是創(chuàng)建組件文件,這里我假設要創(chuàng)建一個自己loading效果組件 那么我們就先創(chuàng)建 loading.vue 里面的代碼根據vue template相關規(guī)則寫就可以 這里就不在贅述了 我只寫一個最最簡單的例子

2.ok了 米就這么愉快的買好了 那么有了米我們現(xiàn)在只需要把他放在鍋里!那么這個鍋是誰呢!好吧我們自己來背這個鍋,我們創(chuàng)建一個相關的.js文件 通常組件都是一個功能自己一個文件夾那么每個組件都應該有自己獨立的調用文件(一盆大米一個鍋)那么為了統(tǒng)一我們可以都叫做index.js當然了這個名字你可以隨便起 只有以后你在后續(xù)調用時候更換相關名字即可!重點來了 這個鍋是怎么造的呢!話不多說直接上圖

那么上面三個這么違和的框是干什么的么:紅色框框:我靠這還用問嗎 你調用那個文件你得告訴人間啊 這里當然要調用剛才我們自己創(chuàng)建的loading.vue文件。 黃色框框:我靠這個黃色的框框可以說是本次本文章中重點中的重點 為什么這么說呢 我們要使用自己的組件就要導出這個組件 而這個黃色框框中的代碼就是導出自己組件的相應配置 其中那個非常猥瑣的浪線則是本例子的”命根子“ 這個命名就是你在其他文件中調用這個組件(這里是loading組件)的名字 在這個例子中我們在調用組件時候就可以寫成<Loading></Loading>。白色框框:這個沒什么好說的 相當于導出這個組件 在main中好接受!

3.原材料大米也有了 飯鍋也有了 現(xiàn)在是萬事俱備只欠東風 那我們第三部就是一個字”煮“ 兩字:”開火“ 這里就是我們要把我們這個自己創(chuàng)建的組件應用到我們的頁面之中 詳情請看下圖

黃色框框部分就是在主文件main.js中 引入剛才定義的組件 和 應用 這個組件了!

最后的最后你可以在任何想用這個組件的地方插入<Loading></Loading>了 組件相應的樣式和js代碼可以直接寫在第一步中的文件之中!就這樣一個自己創(chuàng)建的組件就這么愉快的應用啦!

(備注:本實例家里在用vue init webpack-simple xxx的基礎之上,第一次寫文章很多不周全之處 還請各位客官諒解 )

總結

到此這篇關于vue 自定義組件的寫法與用法詳解 的文章就介紹到這了,更多相關vue 自定義組件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 基于iview的router常用控制方式

    基于iview的router常用控制方式

    這篇文章主要介紹了基于iview的router常用控制方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Vue.js axios響應攔截如何獲取返回狀態(tài)碼

    Vue.js axios響應攔截如何獲取返回狀態(tài)碼

    這篇文章主要介紹了Vue.js axios響應攔截如何獲取返回狀態(tài)碼問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue開發(fā)環(huán)境跨域訪問問題

    Vue開發(fā)環(huán)境跨域訪問問題

    這篇文章主要介紹了Vue開發(fā)環(huán)境跨域訪問問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • vue中使用vue-seamless-scroll插件實現(xiàn)列表無縫滾動效果

    vue中使用vue-seamless-scroll插件實現(xiàn)列表無縫滾動效果

    這篇文章主要介紹了vue中使用vue-seamless-scroll插件無縫滾動,支持上下左右無縫滾動,單步滾動停留時間,以及水平方向的手動切換,需要的朋友可以參考下
    2022-06-06
  • vue-cli項目中使用Mockjs詳解

    vue-cli項目中使用Mockjs詳解

    這篇文章主要介紹了vue-cli項目中使用Mockjs詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • vue-router 控制路由權限的實現(xiàn)

    vue-router 控制路由權限的實現(xiàn)

    這篇文章主要介紹了vue-router 控制路由權限的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 基于el-table封裝的可拖拽行列、選擇列組件的實現(xiàn)

    基于el-table封裝的可拖拽行列、選擇列組件的實現(xiàn)

    本文主要介紹了基于el-table封裝的可拖拽行列、選擇列組件的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • vue中同時監(jiān)聽多個參數(shù)的實現(xiàn)

    vue中同時監(jiān)聽多個參數(shù)的實現(xiàn)

    這篇文章主要介紹了vue中同時監(jiān)聽多個參數(shù)的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 使用iView Upload 組件實現(xiàn)手動上傳圖片的示例代碼

    使用iView Upload 組件實現(xiàn)手動上傳圖片的示例代碼

    這篇文章主要介紹了使用iView Upload 組件實現(xiàn)手動上傳圖片的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • vue中數(shù)組加Key方式

    vue中數(shù)組加Key方式

    這篇文章主要介紹了vue中數(shù)組加Key方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評論

阳谷县| 固镇县| 土默特左旗| 上蔡县| 永济市| 东海县| 闸北区| 苏尼特右旗| 伊春市| 商丘市| 平乐县| 永新县| 宜州市| 交城县| 石首市| 花莲县| 修文县| 孝昌县| 靖江市| 南平市| 宝兴县| 玉树县| 庐江县| 崇阳县| 鄯善县| 德兴市| 定安县| 施秉县| 临泽县| 驻马店市| 恩平市| 石楼县| 台东市| 油尖旺区| 忻城县| 疏附县| 邢台市| 绥德县| 永善县| 大洼县| 莱州市|