老师这种写法this.$emit的第二个参数传给谁了,update:modelValue是点击后就通过第二个参数改变值吗
来源:1-8 组件间双向绑定高级内容(选学)
母鸡阿
2021-06-23 12:41:16
<!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>组件双向绑定高级内容</title>
<script src="https://unpkg.com/vue@next"></script>
</head>
<body>
<div id="root"></div>
</body>
<script>
const app = Vue.createApp({
data(){
return{
count:1,
num:2
}
},
template: `<div><counter v-model:count_="count" v-model:num_="num" />`,
});
app.component('counter',{
props:["count_","num_"],
template:`
<div @click="countAdd">{{count_}}</div>
`,
methods:{
countAdd(){
this.$emit('update:count_',this.count_+2)
}
}
})
const vm = app.mount('#root');
</script>
</html>
1回答
好帮手慕慕子
2021-06-23
同学你好,对于你的问题解答如下:
1、第二个参数传递给"update:count_"这个方法了,可以在组件上绑定这个事件update:count_,事件函数名为test,如下:
每次点击组件时,都会触发update:count_,输出传入的值,如下:
2、是的,vue底层代码进行处理,属于一种固定的用法,目前阶段会用即可。
祝学习愉快~
相似问题