props传值在WePY中属于父子组件之间传值的一种机制,包括

  1. 静态传值
  2. 动态传值

在props对象中声明需要传递的值
静态传值与动态传值的声明略有不同,具体可参看下面的示例代码

1.静态传值

静态传值为父组件向子组件传递常量数据,因此只能传递String字符串类型
在父组件template模板部分的组件标签中,使用子组件props对象中声明的属性名作为其属性名接收父组件传递的值

如下面的代码所示

在父组件中传值:

  1. <template>
  2. <child title="mytitle"></child>
  3. </template>

在子组件中获取:

  1. <script>
  2. import wepy from 'wepy'
  3. export default class Index extends wepy.page {
  4. props = {
  5. title: String
  6. }
  7. onLoad () {
  8. console.log(this.title); // 标题
  9. }
  10. }
  11. </script>

2.动态传值

动态传值是指父组件向子组件传递动态数据内容
父子组件数据完全独立,互不干扰
如下面的代码所示

parent.wpy父组件:

  1. <template>
  2. <child :title="parentTitle"></child>
  3. </template>
  4. <script>
  5. import Child from '../components/child';
  6. export default class Index extends wepy.page {
  7. data = {
  8. parentTitle: 'p-title'
  9. }
  10. components = {
  11. child: Child
  12. }
  13. }
  14. </script>

child.wpy子组件:

  1. <script>
  2. import wepy from 'wepy'
  3. export default class Index extends wepy.page {
  4. props = {
  5. // 静态传值
  6. title: String,
  7. }
  8. onLoad () {
  9. console.log(this.title); // p-title
  10. }
  11. }
  12. </script>