ホームページ  >  記事  >  ウェブフロントエンド  >  Vue2 の親コンポーネントと子コンポーネント間の双方向バインディング

Vue2 の親コンポーネントと子コンポーネント間の双方向バインディング

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-28 10:30:071355ブラウズ

今回は、Vue2 における親コンポーネントと子コンポーネント間の双方向バインディングについて説明します。 Vue2 における親コンポーネントと子コンポーネント間の双方向バインディングの注意事項については、次のとおりです。一度見てください。

最近、データの双方向バインディングを実現するために、Vuex を使用することを検討していますが、他の優れた UI フレームワークを観察したところ、Vuex を使用すると問題が発生することがわかりました。他のユーザーも困っていたので、専門家によるいくつかの記事を参考にして解決策を見つけることにしました。

ここにソリューションを投稿することで、Vue フレームワークを初めて使用する私のような同僚の助​​けになれば幸いです。

子コンポーネントのコードロジック

<template> 
 <p class="ne-ipt"> 
  <input type="text" v-model="currentValue"> 
 </p> 
</template> 
 
<style lang="less" scoped> 
 @import "../../assets/styles/form/form.less"; 
</style> 
<script> 
 export default { 
  name: 'NeIpt', 
  props: { 
   // 接收一个由父级组件传递过来的值 
   value: { 
    type: String, 
    default: function () { 
     return '' 
    } 
   } 
  }, 
  computed:{ 
   currentValue: { 
    // 动态计算currentValue的值 
    get:function() { 
     return this.value; // 将props中的value赋值给currentValue 
    }, 
    set:function(val) { 
     this.$emit('input', val); // 通过$emit触发父组件 
    } 
   } 
  } 
 } 
</script>

親コンポーネントのコードロジック

<template> 
 <p id="button-index"> 
  <ne-ipt placeholder="姓名" v-model="test"></ne-ipt> 
 </p> 
</template> 
<style> 
</style> 
<script> 
 import NeIpt from './NeIpt' 
 export default { 
  name: 'form-index', 
  data () { 
   return { 
    test: '' 
   } 
  }, 
  components: { 
   NeIpt 
  } 
 } 
</script>
子コンポーネントのcurrentValueを変更するとき、実際にはinput

イベントが$emitを介してトリガーされ、値が渡されます呼び出し元の v-model に接続するため、双方向バインディングが実装されます。

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

推奨読書:

HTMLでのv-forインデックスの使用

vueパッケージ化後のフォントと画像リソースの失敗に対処する方法

以上がVue2 の親コンポーネントと子コンポーネント間の双方向バインディングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。