欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

當時只是說了一下思路,回來就附上代碼。

解決思路:

  1. 通過父子組件通訊($refs 和 props)
  2. props接受參數(shù), $refs調(diào)用子組件的方法
  3. 來達到點擊提交改變按鈕狀態(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: '確認',
    }
   }
  }
 },
 methods: {
  confirm(){
   this.text += '...'
   this.state = true
   //這里是激活父組件的事件,因為子組件是不會冒泡到父組件上的,必須手動調(diào)用$emit
   //相對應父組件要在調(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: '確認注冊'}"
    <!--這里就要掛載$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>

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

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

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

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

相關文章

  • 如何將HTML頁面改寫到vue項目中詳解

    如何將HTML頁面改寫到vue項目中詳解

    html和vue都是前端技術中非常重要的一部分,其中html是web開發(fā)的基石,而vue則是現(xiàn)代化的前端開發(fā)框架之一,下面這篇文章主要給大家介紹了關于如何將HTML頁面改寫到vue項目中的相關資料,需要的朋友可以參考下
    2024-08-08
  • 在Vue項目中使用d3.js的實例代碼

    在Vue項目中使用d3.js的實例代碼

    這篇文章主要介紹了在Vue項目中使用d3.js的實例代碼,非常不錯,具有參考借鑒價值價值,需要的朋友可以參考下
    2018-05-05
  • Vue3配置路由ERROR in [eslint]報錯問題及解決

    Vue3配置路由ERROR in [eslint]報錯問題及解決

    這篇文章主要介紹了Vue3配置路由ERROR in [eslint]報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue中的el-date-picker時間選擇器的使用實例詳解

    Vue中的el-date-picker時間選擇器的使用實例詳解

    el-date-picker是Element UI框架中提供的日期選擇器組件,它支持單個日期、日期范圍、時間、日期時間等多種選擇方式,本文給大家介紹Vue中的el-date-picker時間選擇器的使用,感興趣的朋友一起看看吧
    2023-10-10
  • element?el-tooltip實現(xiàn)自定義修改樣式

    element?el-tooltip實現(xiàn)自定義修改樣式

    本文主要介紹了element?el-tooltip實現(xiàn)自定義修改樣式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • vue實現(xiàn)骨架屏的示例

    vue實現(xiàn)骨架屏的示例

    這篇文章主要介紹了vue實現(xiàn)骨架屏的示例,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下
    2021-04-04
  • Vue-Jest 自動化測試基礎配置詳解

    Vue-Jest 自動化測試基礎配置詳解

    目前開發(fā)大型應用,測試是一個非常重要的環(huán)節(jié),而在 Vue 項目中做單元測試可以用 Jest,本文主要介紹了Vue-Jest 自動化測試,感興趣的可以了解一下
    2021-07-07
  • Vue中的ref作用詳解(實現(xiàn)DOM的聯(lián)動操作)

    Vue中的ref作用詳解(實現(xiàn)DOM的聯(lián)動操作)

    這篇文章主要介紹了Vue中的ref作用詳解(實現(xiàn)DOM的聯(lián)動操作),需要的朋友可以參考下
    2017-08-08
  • vue 監(jiān)聽 Treeselect 選擇項的改變操作

    vue 監(jiān)聽 Treeselect 選擇項的改變操作

    這篇文章主要介紹了vue 監(jiān)聽 Treeselect 選擇項的改變操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue3使用vue-router的完整步驟記錄

    vue3使用vue-router的完整步驟記錄

    Vue Router是Vue.js (opens new window)官方的路由管理器,它和 Vue.js 的核心深度集成,讓構建單頁面應用變得易如反掌,這篇文章主要給大家介紹了關于vue3使用vue-router的相關資料,需要的朋友可以參考下
    2021-06-06

最新評論