vue组件之间的传值

1.props

父组件:

<blog-post v-bind:title="post.title"></blog-post>

子组件:

<template>
	<div>
		<span>{{title}}</span>
	</div>
</template>

<script>
export default {
    props: {
        title:String,
    },
}
</script>

2.子组件传值给父组件

父组件:

<menu-item v-on:enlarge-text='fontSize += 0.1'></menu-item>

子组件:

<button v-on:click='$emit("enlarge-text")'>扩大字体</buttton>

3.组件之间操作数据方法

1.父组件调用子组件的方法:

<XXX ref='child'></XXX>

Handle(){
This.$refs.child.sing();  //拿取子组件的方法,可以拿取多个
This.$refs.child.rap();
}
<XXX ref='child'></XXX>  //父组件

Handle(){//父组件中的方法
this.$refs.child.$emit("mySon")
}

mounted() { //子组件
    this.$nextTick(() => {
      this.$on("mySon", function () {
        console.log("121212121");
      });
    });
  },
  
父组件改变子组件的值:
this.$refs.child.a = "gcsdfydsgf";

注意:refs只会在组件渲染完成之后生效,并且它们不是响应式的。这仅作为一个用于直接操作子组件的“逃生舱”——你应该避免在模板或计算属性中访问$refs。这是官方说法,提倡props来操作,缺点就是非响应式的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值