Vue-父子组件信息互相传递
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div id="app">
<div>
Parent component:
<input type="text" v-model="msg" @input="changee" />
</div>
<miao @func="choseItem123" :msg1="msg" ref="mychild"></miao>
<!-- func方法 作为桥梁,事件传递,传值 -->
</div>
<template id="t1">
<div>
Child component :
<input type="text" v-model="msg" @input="choseItem" />
</div>
</template>
<script type="text/javascript" src="js/vue.js"></script>
<script type="text/javascript">
//子组件miao
var miao = {
template: "#t1",
props: ["msg1"],
data() {
return {
msg: "",
};
},
methods: {
changee(msg) {
this.msg = msg;
console.log("66");
},
choseItem() {
this.$emit("func", this.msg); //func方法 作为桥梁,事件传递,传值
console.log("son" + this.msg);
},
},
};
var vm = new Vue({
el: "#app",
data: {
msg: "",
},
methods: {
choseItem123(msg) {
this.msg = msg; //赋值方法,在父组件修改值
console.log("father");
},
changee() {
//直接利用 引用 修改子组件的值
this.$refs.mychild.changee(this.msg);
},
},
components: {
miao,
},
});
</script>
</body>
</html>