网站建设开始学什么,美食网站策划书范文,连云港企业建站 网站,一级ip的二级ip父组件传入子组个的变量#xff0c; 子组件是无法直接修改的#xff0c; 只能通过 emit的方式#xff0c; 让父组件修改#xff0c; 之后子组件更新
templatediv classparent我是父组件son :msgmsg :objobj chan…父组件传入子组个的变量 子组件是无法直接修改的 只能通过 emit的方式 让父组件修改 之后子组件更新
templatediv classparent我是父组件son :msgmsg :objobj changemsgEmitchangemsgEmit changeobjnameEmitchangeobjnameEmit changeobjageEmitchangeobjageEmit/son/div
/templatescript setupimport {ref, reactive} from vue;import son from ./son.vuelet msg ref(this msg form parent.vue);let obj reactive({name:huang,age:39})const changeobjageEmit (params){obj.age params;}const changeobjnameEmit (params){obj.name params.newname;}const changemsgEmit (params){console.log(params);msg.value params.join();}/scriptstyle scoped/style父组件的写法没有变 子组件的写法就有很大的变化了 templatediv classsonson{{msg}}hr/{{obj.name}}{{obj.age}}/divbutton clickchangemsgchangemsg/buttonbutton clickchangeobjname(3) typebuttonchangeobjname/buttonbutton clickchangeobjage(42) typebuttonchangeobjage/button
/templatescript setup
//这里定义了一个 props来接收传来的属性
//使用时可以是 {{msg}} 也可以使用 {{props.msg}}let props defineProps({msg:{type:String,default:},obj:{type:Object,default:{}}})//这里定义了三个自定义事件const emit defineEmits([changeobjnameEmit,changeobjageEmit,changemsgEmit]);//下面是通过事件调用了三个自定义的事件const changeobjname (){let objname {newname:hahaha}emit(changeobjnameEmit,objname)}const changeobjage (age){emit(changeobjageEmit,age)}const changemsg (){emit(changemsgEmit,[aa,bb,cc]);}/script