欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Vue组件间的参数传递

程序员文章站 2022-04-18 14:39:51
...

1 在项目中创建子组件

在 Components 目录下创建 MyComponent 子组件,并编写

<template>
    <div>
        MyComponent...
        {{ MyTitle }}
        
        <button @click="MyMethod('bye vue')">修改内容</button>
    </div>
</template>

<script>
    export default {
        name: "MyComponent",

        //props:["MyTitle"],

        props:{
            MyTitle:{
                type:String,
                required:true,
                default:'defaultMyTitle'
            },

            MyMethod:{
                type: Function
            }
        }
    }
</script>

<style scoped>
</style>

2 注册子组件

在main.js中注册子组件

//导入子组件
import MyComponent from "./components/MyComponent";
//全局注册
Vue.component("MyComponent",MyComponent)

3 在App.vue中使用组件并传递参数

<template>
  <el-container>
      <MyComponent :MyTitle="msg" :MyMethod="changeMsg"></MyComponent>
  </el-container>
</template>

export default {
 	data(){
    	return {
      		msg:'hello vue!!'
    	}
 	},
  
	methods:{
    	changeMsg(massage){
      		this.msg = massage;
    }
}

父传子:通过子组件的props部分,来指明可以接收的参数,父组件通过在标签中写明参数的键值对来传递参数。

props是表示一个组件的参数部分,那么props的写法有两种:

​ 1)props:[参数列表]

​ 比如: props:[‘MyProp1’,‘MyProp2’,…]

​ 2)props:{参数名1:{type:String,required:true,default:‘XX’},参数名2:{…}})

子传父:通过方法来传,子传给父,父还可以传给子

相关标签: vue