blog

vueの.sync修飾子を分析する

公式ドキュメントでは、vue の .sync 修飾子について説明しています。 ドキュメントによると、.sync修飾子は、子コンポーネントとその親コンポーネントとの間の双方向バインディングを可能にします...

Mar 3, 2020 · 2 min. read
Share this
  • 公式ドキュメントvue .sync

  • ドキュメントによると、.sync修飾子は子コンポーネントの親コンポーネントへの双方向バインディングを可能にすると理解されています。これはコンパイル時の構文上の糖分として存在します。親コンポーネントのプロパティを自動的に更新するv-onリスナーで拡張されています。

サンプルコードは以下の通りです:

親コンポーネント

<template>
 <div class="app">
 {{dataApp}}
 <hr>
 <Child :money.sync="dataApp"/>
 // <Child :money="dataApp" v-on:update:money="dataApp = $event"/> //この2つの文は等価である
 </div>
</template>
<script>
 import Child from "./Child.vue";
 export default {
 data() {
 return { dataApp: 10000 };
 },
 components: { Child }
};
</script>

サブアセンブリ

<template>
 <div class="child">
 {{money}}
 <button @click="$emit('update:money', money-100)">
 </button>
 </div>
</template>
<script>
 export default {
 props: ["money"]
};
</script>

この例では、親コンポーネントが子コンポーネントにパラメータ money を渡し、子コンポーネントが $emit を使用して更新イベントをトリガーします。

<button @click="$emit('update:money', money-100)">

親コンポーネントはv-onを介して子コンポーネントのデータ変更をリッスンします。

.sync 構文

 <Child :money.sync="dataApp"/>

ブイオン・リスナー

<Child :money="dataApp" v-on:update:money="dataApp = $event"/>

<Child :money="dataApp" v-on:update:money="dataApp = $event"/> <Child :money.sync="dataApp"/>と等価であることに注意してください

Read next

プログラミングを10倍速く学ぶコツ

独学プログラマーとして、常に自分に勉強を促してきた私が、今回の返信を通して個人的に思いついた大切な6つのコツをお伝えします。 そして、個人的に結論づけた6つの重要なコツを紹介します。 スキルを身につける最良の方法は、それを生活に取り入れ、趣味にすることです。実際、単刀直入に言えば、この趣味を習慣にすることであり、このことをやりに行かない日は...

Mar 3, 2020 · 4 min read