重温vue父传子

重温vue父传子

第一步:新建一个vue3的demo
vue create vuedemo
第二步:运行demo
npm run serve

此时得到的demo目录如下:
App.vue是父组件
HelloWorld.vue是子组件
demo的目录

第三步:子组件

html部分
这里我们展示两个字段

<div>
  <span>{{ msg }}</span>
  <span>{{ toVal }}</span>
</div>

js部分

<scrpit>
  export defaule {
    props:{
		msg:String
	}
  }
</script>

这里要注意的是props在传递多个值时,并不是以数组的形式去书写代码
而是

<scrpit>
  export defaule {
	    props: {
		    msg: {
		      type: String,
		      default: () => "",
		    },
		    toVal: {
		      type: String,
		      default: () => "这是父传子的默认值",
		    },
	  },
  }
</script>

以对象的形式

第四步:父组件

html部分
接收两个字段

<HelloWorld msg="Welcome to Your Vue.js App" :toVal="name" />

js部分

<script>
//先引用子组件
import HelloWorld from "./components/HelloWorld.vue";

export default {
  name: "App",
  //挂载子组件
  components: {
    HelloWorld,
  },
  data() {
    return {
      name: "我是张三",
    };
  },
};
</script>

子组件上传递两个值一个是静态写死的msg,一个是动态从父组件中获取的值name。
在这里插入图片描述
总结:父传子,顾名思义值是由父组件传给子组件的,最后显示在父组件上是因为这里子组件作用在父组件上,子组件也可以被别的页面引用,但是值还是由父组件传过去的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中父组件向子组件传递数据可以通过props属性实现,子组件向父组件传递数据可以通过$emit方法实现。 具体来说,父组件通过在子组件标签上绑定属性的方式向子组件传递数据,例如: ```html <template> <div> <child-component :prop-name="parentData"></child-component> </div> </template> <script> import ChildComponent from './ChildComponent.vue' export default { components: { ChildComponent }, data() { return { parentData: 'Hello from parent component' } } } </script> ``` 在子组件中,可以通过props属性接收父组件传递的数据,例如: ```html <template> <div>{{ propName }}</div> </template> <script> export default { props: { propName: String } } </script> ``` 子组件向父组件传递数据可以通过$emit方法实现,例如: ```html <template> <div> <button @click="sendDataToParent">Send Data to Parent</button> </div> </template> <script> export default { methods: { sendDataToParent() { this.$emit('event-name', 'Data from child component') } } } </script> ``` 在父组件中,可以通过在子组件标签上绑定事件的方式接收子组件传递的数据,例如: ```html <template> <div> <child-component @event-name="handleDataFromChild"></child-component> </div> </template> <script> import ChildComponent from './ChildComponent.vue' export default { components: { ChildComponent }, methods: { handleDataFromChild(data) { console.log(data) // 'Data from child component' } } } </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值