最近在學習vue組件雞組件之前通信問題,正好看到,以此來留作筆記。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" /> <title>Vue2-單一事件管理組件通信</title> <script src="vue.js"></script> <script type="text/javascript"> //準備一個空的實例對象 var Event = new Vue(); //組件A var A = { template: ` <div> <span>我是A組件的數據->{{a}}</span> <input type="button" value="把A數據傳給C" @click = "send"> </div> `, methods: { send () { Event.$emit("a-msg", this.a); } }, data () { return { a: "我是a組件中數據" } } }; //組件B var B = { template: ` <div> <span>我是B組件的數據->{{a}}</span> <input type="button" value="把B數據傳給C" @click = "send"> </div> `, methods: { send () { Event.$emit("b-msg", this.a); } }, data () { return { a: "我是b組件中數據" } } }; //組件C var C = { template: ` <div> <h3>我是C組件</h3> <span>接收過來A的數據為: {{a}}</span> <br> <span>接收過來B的數據為: {{b}}</span> </div> `, mounted () { //接收A組件的數據 Event.$on("a-msg", function (a) { this.a = a; }.bind(this)); //接收B組件的數據 Event.$on("b-msg", function (a) { this.b = a; }.bind(this)); }, data () { return { a: "", b: "" } } }; window.onload = function () { new Vue({ el: "#box", components: { "dom-a": A, "dom-b": B, "dom-c": C } }); }; </script></head><body> <div id="box"> <dom-a></dom-a> <dom-b></dom-b> <dom-c></dom-c> </div></body></html>以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答