vue 组件之间传递数据

父组件向子组件传递数据

有PageA, PageB 组件(父组件),这两组件将使用 Header组件(子组件), Header 中的 显示的数据来自 PageA 与 PageB中。

目录结构:

-components
 -- PageA.vue
 -- PageB.vue
 --sub
  -- Header.vue

Header.vue 代码
假设 要值的变量名为 name
子组件Header 需要从 父组件PageA中获取 name的值, 需要在子组件Header中添加 props: ['name] 选项。data中可以不用定义 name。

<template>
  <div class="header">
      <h1>{{name}}</h1>
  </div>
</template>

<script>
export default {
  name: 'header',
  props: ['name'],
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>

父组件PageA 代码
需要在引用 Header 组件时,添加属性绑定, 所以 Name 不用大括号。Name是 PageA data 中定义的变量, 可以在 created 或者 其他地方进行赋值。 这样 PageA 中的 Name 值 将会传到 子组件 Header 中的 name。

<template>
  <div class="editHome">
    <sub-header v-bind:name="Name"></sub-header>
  </div>
</template>

<script>
import Header from '@/components/sub/Header'
export default {
  name: 'EditHome',
  components: {
    'sub-header': Header 
  },
  data () {
    return {
      Name: ''
    }
  },
  created () {
     this.Name = 'pageA';
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>

</style>

参考文章:
https://www.cnblogs.com/LoveAndPeace/p/7273648.html

< – private – >
https://cnodejs.org/topic/5816aabdcf18d0333412d323
http://es6.ruanyifeng.com/#docs/promise
< – end – >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值