Vue 컴포넌트의 부모-자식 커뮤니케이션에 대한 자세한 설명과 함께 계속 학습해 보세요. 이 글은 주로 Vue 컴포넌트 간의 자녀와 부모 간의 의사소통에 관련된 정보를 자세히 소개하고 있으며, 관심 있는 친구들이 참고할 수 있기를 바랍니다.
2. 구성요소 간 통신(하위 구성요소는 상위 구성요소에 값을 전달)
이벤트를 통해 데이터 전송을 완료합니다.
①이벤트를 통해 하위 구성요소가 전달한 값을 받는 메소드를 상위 구성요소에 정의합니다.
methods:{ recvMsg:function(msg){ //参数msg就是子组件通过事件出来的数据 } }
②이벤트 처리 기능 바인딩
이벤트는 일반적으로 맞춤 이벤트입니다.
<child-component @myEvent="recvMsg"></child-component>
③자식에서 이벤트 실행 Components
事件名,值 this.$emit('myEvent',myPhone) //触发一个叫做myEvent的事件,同时把第二个参数数据传递给事件对应的处理函数
요약:
Vue에서 상위 및 하위 구성 요소 간의 관계는 props down, events up으로 요약될 수 있습니다. 상위 컴포넌트는 props를 통해 하위 컴포넌트에 데이터를 전달하고, 하위 컴포넌트는 이벤트를 통해 상위 컴포넌트에 메시지를 보냅니다.
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>组件间通信子传父</title> <script src="js/vue.js"></script> </head> <body> <p id="container"> <p>{{msg}}</p> <parent-component></parent-component> </p> <script> //通过事件的方式传递 // 绑定 -- 触发 Vue.component("parent-component",{ data:function(){ return { sonMsg:"" } }, methods:{ //msg参数要拿子传递的值 recvMsg:function(msg){ console.log("父组件接收到子组件的数据"+msg); this.sonMsg = msg; } }, template:` <p> <h1>这是父组件</h1> <p>子组件传来的数据为:{{sonMsg}}</p> <hr/> <child-component @customEvent="recvMsg"></child-component> </p> ` }) Vue.component("child-component",{ methods:{ sendMsg:function(){ //来触发绑定给子组件的自定义方法 //this.$emit("customEvent");第一个参数触发 //this.$emit("customEvent");第二个参数传值 this.$emit("customEvent","哈哈哈哈"); }, }, template:` <p> <h1>这是子组件</h1> <button @click="sendMsg">senToFather</button> </p> ` }) new Vue({ el:"#container", data:{ msg:"Hello VueJs" } }) </script> </body> </html>
자식 컴포넌트에 입력을 넣고, 버튼을 클릭하면 사용자가 입력한 내용이 상위 컴포넌트로 전송됩니다.
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>子与父之间的通信</title> <script src="js/vue.js"></script> </head> <body> <p id="container"> <p>{{msg}}</p> <parent-component></parent-component> </p> <script> //创建父组件 Vue.component("parent-component",{ //data属性 data:function(){ return{ sonMsg:"" } }, methods:{ recvMsg:function(msg){ this.sonMsg = msg } }, template:` <p> <h1>父组件</h1> <h4>子组件传递的数据:{{sonMsg}}</h4> <child-component @customEvent="recvMsg"></child-component> </p> ` }) //创建子组件 Vue.component("child-component",{ data:function(){ return { myInput:"" } }, methods:{ sendMsg:function(){ this.$emit("customEvent",this.myInput); } }, template:` <p> <h1>子组件</h1> <input type="text" v-model="myInput"/> <button @click="sendMsg">发送</button> </p> ` }) new Vue({ el:"#container", data:{ msg:"Hello VueJs" } }) </script> </body> </html>
관련 추천:
vue 컴포넌트 parent-child에 대한 자세한 설명 통신(1)
위 내용은 Vue 컴포넌트 간 통신 상세 예 자식과 부모에 대한 자세한 설명(2)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!