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

vue 開發(fā)一個按鈕組件的示例代碼

 更新時間:2018年03月27日 16:06:27   作者:緋色琉璃  
本篇文章主要介紹了vue 開發(fā)一個按鈕組件的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

最近面試,被問到一個題目,vue做一個按鈕組件;

當(dāng)時只是說了一下思路,回來就附上代碼。

解決思路:

  1. 通過父子組件通訊($refs 和 props)
  2. props接受參數(shù), $refs調(diào)用子組件的方法
  3. 來達(dá)到點(diǎn)擊提交改變按鈕狀態(tài),如果不成功則取消按鈕狀態(tài)

在src/components/ 下建一個button.vue

<template>
<!-- use plane -->
<!-- 傳入bgColor改變按鈕背景色 -->
<!-- state切換button的狀態(tài) 調(diào)用cancel()可以切換 -->
<!-- text為按鈕文字 -->
 <div class="container">
  <button 
   @click="confirm"
   :disabled="state" 
   class="confirm" 
   :style="{background: btnData.bgColor}"
  >{{text}}</button>
 </div>
</template>
<script>
export default {
 data(){
  return {
   text: this.btnData.text,
   state: false,
  }
 },
 props: {
  btnData: {
   types: Array,
   default() {
    return {
     text: '確認(rèn)',
    }
   }
  }
 },
 methods: {
  confirm(){
   this.text += '...'
   this.state = true
   //這里是激活父組件的事件,因?yàn)樽咏M件是不會冒泡到父組件上的,必須手動調(diào)用$emit
   //相對應(yīng)父組件要在調(diào)用該組件的時候,將其掛載到上面
   this.$emit("confirm")
  },
  cancel(){
   this.text = this.btnData.text
   this.state = false
  }
 }
}
</script>
<style lang="less" scoped>
.confirm {
 border: none;
 color: #fff;
 width: 100%;
 padding: 1rem 0;
 border-radius: 4px;
 font-size: 1.6rem;
 background: #5da1fd;
 &:focus {
  outline: none;
 }
}
</style>

在頁面中調(diào)用:

<template>
  <div class="btn-box">
   <Btn 
    :btnData="{text: '確認(rèn)注冊'}"
    <!--這里就要掛載$emit調(diào)用的事件 @confirm="想要調(diào)用事件的名字"-->
    @confirm="confirm"
    ref="btn"
   ></Btn>
  </div> 
</template>
<script>
import Btn from '@/components/button'
export default {
 components: {
  Btn
 },
 methods: {
  confirm(){
   if(!this.companyName){
    this.$toast("公司名不能為空") 
    this.$refs.btn.cancel()
   }
 }
}
</script>

在這里,要注意一些細(xì)節(jié):

1. button組件形成之后和其它div元素的間距,如果是在組件內(nèi)定死是很難復(fù)用的。

2. 在復(fù)用的時候,在父組件中是改變不了子組件的樣式的,如果要強(qiáng)制更改,單獨(dú)寫一個并去掉scoped。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用vue cli4.x搭建vue項(xiàng)目的過程詳解

    使用vue cli4.x搭建vue項(xiàng)目的過程詳解

    這篇文章主要介紹了使用vue cli4.x搭建vue項(xiàng)目的過程,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • vite+vue3+ts項(xiàng)目中提示無法找到模塊的問題及解決

    vite+vue3+ts項(xiàng)目中提示無法找到模塊的問題及解決

    這篇文章主要介紹了vite+vue3+ts項(xiàng)目中提示無法找到模塊的問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 一篇文章帶你吃透Vuex3的狀態(tài)管理

    一篇文章帶你吃透Vuex3的狀態(tài)管理

    Vuex是一個專為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式,它采用集中式存儲管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測的方式發(fā)生變化,下面這篇文章主要給大家介紹了關(guān)于如何通過一篇文章帶你吃透Vuex3的狀態(tài)管理,需要的朋友可以參考下
    2022-07-07
  • Vue2+ElementUI表單、Form組件的封裝過程

    Vue2+ElementUI表單、Form組件的封裝過程

    在 Vue2 項(xiàng)目中,ElementUI 的 el-form 組件是常用的表單組件,它提供了豐富的功能和樣式,可以滿足各種需求,本文給大家介紹Vue2+ElementUI表單、Form組件的封裝過程,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • 深入解讀VUE中的異步渲染的實(shí)現(xiàn)

    深入解讀VUE中的異步渲染的實(shí)現(xiàn)

    這篇文章主要介紹了深入解讀VUE中的異步渲染的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Vite熱更新失效的問題解決

    Vite熱更新失效的問題解決

    本文主要介紹了Vite熱更新失效的問題解決,原因是文件夾和文件名大小寫不一致,下面就來解決一下次問題,感興趣的可以了解一下
    2024-08-08
  • vue-cli-service和webpack-dev-server的區(qū)別及說明

    vue-cli-service和webpack-dev-server的區(qū)別及說明

    這篇文章主要介紹了vue-cli-service和webpack-dev-server的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue使用引用庫中的方法附源碼

    vue使用引用庫中的方法附源碼

    當(dāng)vue使用庫中的getvalue方法時,需要調(diào)用相關(guān)方法,通過定義ref=“”,使用this.$refs.exampleEditor._setValue(''),具體示例代碼參考下本文,對vue使用引用庫中的方法,感興趣的朋友一起看看吧
    2021-07-07
  • Vue實(shí)現(xiàn)單行刪除與批量刪除

    Vue實(shí)現(xiàn)單行刪除與批量刪除

    這篇文章主要介紹了Vue實(shí)現(xiàn)單行刪除與批量刪除,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue中輸入框僅支持?jǐn)?shù)字輸入的四種方法

    Vue中輸入框僅支持?jǐn)?shù)字輸入的四種方法

    項(xiàng)目中需要用到大量的數(shù)字輸入框限制,為了可以以后能又更多的拓展性,下面這篇文章主要給大家介紹了關(guān)于Vue中輸入框僅支持?jǐn)?shù)字輸入的四種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08

最新評論

沙洋县| 绿春县| 舒城县| 汾西县| 昌宁县| 翼城县| 拜城县| 犍为县| 饶河县| 南丰县| 梅河口市| 商河县| 大竹县| 交口县| 同江市| 临泉县| 图木舒克市| 保定市| 舒城县| 宜阳县| 湖南省| 海口市| 景洪市| 富阳市| 沙田区| 河南省| 大新县| 武威市| 公安县| 迁安市| 鸡东县| 荃湾区| 蓝田县| 沧源| 长兴县| 竹山县| 忻州市| 玉树县| 龙山县| 富蕴县| 衢州市|