Vue でボタン コンポーネントを開発するには何を準備する必要がありますか?

php中世界最好的语言
リリース: 2018-05-03 10:31:11
オリジナル
1167 人が閲覧しました

今回は、Vue でボタン コンポーネントを開発するために準備するものと、Vue でボタン コンポーネントを開発する際の 注意事項 についてお届けします。実際のケースを見てみましょう。

最近のインタビューで、Vue でのボタン コンポーネントの作成について質問されました。

その時のアイデアについて話し、戻ってきたときにコードを添付しました。

解決策:

  1. 親子コンポーネント($refsとprops)を介して通信します

  2. propsはパラメータを受け取り、$refsは子コンポーネントのメソッドを呼び出します

  3. を送信をクリックしてボタンの状態を変更します。失敗した場合は、ボタンの状態をキャンセルします

src/components/

<template>
<!-- use plane -->
<!-- 传入bgColor改变按钮背景色 -->
<!-- state切换button的状态 调用cancel()可以切换 -->
<!-- text为按钮文字 -->
 <p class="container">
  <button 
   @click="confirm"
   :disabled="state" 
   class="confirm" 
   :style="{background: btnData.bgColor}"
  >{{text}}</button>
 </p>
</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
   //这里是激活父组件的事件,因为子组件是不会冒泡到父组件上的,必须手动调用$emit
   //相对应父组件要在调用该组件的时候,将其挂载到上面
   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>
ログイン後にコピー
の下にbutton.vueを作成します:

<template>
  <p class="btn-box">
   <Btn 
    :btnData="{text: &#39;确认注册&#39;}"
    <!--这里就要挂载$emit调用的事件 @confirm="想要调用事件的名字"-->
    @confirm="confirm"
    ref="btn"
   ></Btn>
  </p> 
</template>
<script>
import Btn from '@/components/button'
export default {
 components: {
  Btn
 },
 methods: {
  confirm(){
   if(!this.companyName){
    this.$toast("公司名不能为空") 
    this.$refs.btn.cancel()
   }
 }
}
</script>
ログイン後にコピー
ここで、いくつかの詳細に注意する必要があります:

1.ボタンコンポーネントが形成されると、他の p 要素と相互作用します。コンポーネント内で固定されている場合、スペースを再利用するのは困難です。

2. 再利用する場合、親コンポーネント内で子コンポーネントのスタイルを変更することはできません。変更を強制したい場合は、別のものを記述し、スコープ付きを削除してください。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

JS 左リストを右に転送

WeChat アプレットでページを共有し、ホームページに戻る

以上がVue でボタン コンポーネントを開発するには何を準備する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!