props传值在WePY中属于父子组件之间传值的一种机制,包括
- 静态传值
- 动态传值
在props对象中声明需要传递的值
静态传值与动态传值的声明略有不同,具体可参看下面的示例代码
1.静态传值
静态传值为父组件向子组件传递常量数据,因此只能传递String字符串类型
在父组件template模板部分的组件标签中,使用子组件props对象中声明的属性名作为其属性名接收父组件传递的值
如下面的代码所示
在父组件中传值:
<template>
<child title="mytitle"></child>
</template>
在子组件中获取:
<script>
import wepy from 'wepy'
export default class Index extends wepy.page {
props = {
title: String
}
onLoad () {
console.log(this.title); // 标题
}
}
</script>
2.动态传值
动态传值是指父组件向子组件传递动态数据内容
父子组件数据完全独立,互不干扰
如下面的代码所示
parent.wpy父组件:
<template>
<child :title="parentTitle"></child>
</template>
<script>
import Child from '../components/child';
export default class Index extends wepy.page {
data = {
parentTitle: 'p-title'
}
components = {
child: Child
}
}
</script>
child.wpy子组件:
<script>
import wepy from 'wepy'
export default class Index extends wepy.page {
props = {
// 静态传值
title: String,
}
onLoad () {
console.log(this.title); // p-title
}
}
</script>