ホームページ > 記事 > ウェブフロントエンド > Vue で親コンポーネントから子コンポーネントにデータを渡す方法
この記事では、vue に関する関連知識を提供します。主に、props とイベント、ref 属性、コンテンツの提供と挿入など、Vue の親コンポーネントと子コンポーネント間でデータを渡すいくつかの方法をまとめています。 、一定の参考値があるので一緒に見ていきましょう、皆さんの参考になれば幸いです。
[関連する推奨事項: javascript ビデオ チュートリアル 、vue.js チュートリアル ]
vue を学習しています最近 ソース コードには、Vue の親コンポーネントと子コンポーネント間でデータを転送するいくつかの方法がまとめられています。
親コンポーネントは props データを子コンポーネントに渡し、子コンポーネントはイベントをトリガーすることでデータを親コンポーネントに返します。コードは次のとおりです。
//子组件 <template> <div @click="changeName('YYY')">{{name}}</div> </template> <script> export default{ props:['name'],//or props:{name:{type:String,default:''}} methods:{ //不能在子组件修改props数据,应触发事件让父组件处理 changeName(newName){ this.$emit('changeName',newName) } } } </script> //父组件 <template> <div> <child-comp :name="name" @changeName="changeName"></child-comp> </div> </template> <script> import childComp from 'path' export default{ data(){ return {name:'XXX'} }, components:{ childComp }, methods:{ changeName(newName){ this.name = newName; } } } </scritp>
上記は完全なプロセスです。親コンポーネントは props を通じて子コンポーネントにデータを渡し、子コンポーネントはイベントをトリガーします。イベントは親コンポーネントによって監視され、それに応じて処理されます。
ref 属性は、子コンポーネントまたはネイティブ DOM で定義できます。子コンポーネントにある場合は、子コンポーネントのインスタンスを指します。ネイティブ DOM 上にある場合、ネイティブ DOM 要素を指します (要素の選択に使用でき、querySelector の問題を排除できます)。
データを渡す考え方: 親コンポーネントの ref を通じてサブコンポーネントのインスタンスを取得し、サブコンポーネントのメソッドを呼び出して、関連するデータをパラメーターとして渡します。コードは次のとおりです:
//子组件 <template> <div>{{parentMsg}}</div> </template> <script> export default{ data(){ return { parentMsg:'' } }, methods:{ getMsg(msg){ this.parentMsg = msg; } } } </script> //父组件 <template> <div> <child-comp ref="child"></child-comp> <button @click="sendMsg">SEND MESSAGE</button> </div> </template> <script> import childComp from 'path' export default{ components:{ childComp }, methods:{ sendMsg(){ this.$refs.child.getMsg('Parent Message'); } } } </scritp>
provide は、提供することを意味します。コンポーネントが Provide を通じてデータを提供するとき、コンポーネントは、祖先コンポーネントによって渡されたデータを使用できるように、inject を使用して注入を受け入れることができます。コードは次のとおりです。
//child <template> <div>{{appName}}</div> </template> <script> export default{ inject:['appName'] } </script> // root export default{ data(){ return { appName:'Test' } }, provide:['appName'] }
[関連する推奨事項: javascript ビデオ チュートリアル 、vue.js チュートリアル ]
以上がVue で親コンポーネントから子コンポーネントにデータを渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。