代码示例
<div id="app"> <child @buttonclick="buttonClick" :title="title">插槽会显示这段内容</child> </div> <script src="./vue.js"></script> <script> // 定义子组件 Vue.component("child", { // 接收父组件传递过来的参数 props: ["title"], data() { return { count: 0 } }, template: "<div><h2>{ {title}}</h2><slot></slot><p>{ { count }}</p><button @click='handleClick'>按钮</button></div>", methods: { handleClick() { this.count++; // 向父组件传递事件 this.$emit("buttonclick", this.count); } } }); // 实例化Vue对象 var vm = new Vue({ el: "#app", data() { return { title: "父组件传递给子组件的标题" } }, methods: { // 接收子组件传递回来的参数 buttonClick(count) { console.log(count); } } }) </script>
</div>