功能描述
组件(Component)是 Vue.js 最强大的功能之一,父子组件可以通过prop属性进行参数传递。
本例实现功能描述
本例子实现了从父组件到子组件的参数传递,并且子组件也可以通过$emit方式传递参数给父组件。
[!TIP|label: 定义componentParent.vue]
在src/views/basic/sys文件下新建一个componentParent.vue页面,添加以下代码。
这里是模版添加在src/views/basic/sys,开发的时候应该放在组件文件夹下
<template><div><h2>{{ msg }}</h2><p>===========================</p><componentSon parentMsg="传递给子组件的信息" @transfer="getSonMessage"></componentSon></div></template><script>import componentSon from "./componentSon"export default {name: "parent",data () {return{msg: '父组件'}},components: {componentSon},methods: {getSonMessage (msg) {this.msg = msg}}}</script><style scoped></style>
[!TIP|label: 定义componentSon.vue]
在src/views/basic/sys文件下新建一个componentSon.vue页面,添加以下代码。
<template><div><h2>{{ msg }}</h2><p>子组件接收到内容:{{ parentMsg }}</p><input type="text" v-model="infoToParent"><button @click="sentMsgToParent">传值给父组件</button></div></template><script>export default {name: "son",data () {return{msg: '子组件',infoToParent: ''}},methods:{sentMsgToParent(){this.$emit('transfer',this.infoToParent)}},props:['parentMsg']// 接受psMsg值}</script><style scoped></style>
[!TIP]
最后配置componentParent.vue的菜单,具体方法见vue方式开发指南-部署与启动里面的菜单路由配置
