# 组件传值
组件中使用 properties 定义可以传入的属性值,在组件调用页面使用属性名即可向子组件传值。
**代码示例:**
**组件**
*components/com/index.wxml*
```html
<view class="wrapper">
<slot name="before"></slot>
<view wx:if="{{show}}" wx:for="{{data}}" wx:for-index="index" wx:for-item="item">{{index}} : {{item}}
<view>content...</view>
</view>
<slot name="after"></slot>
</view>
```
*components/com/index.js*
在 Components 中加入 `properties` 可以接收由父页面传入的属性值。
```js
Component({
options: {
multipleSlots: true // 在组件定义时的选项中启用多slot支持
},
properties: {
data: { // 属性名
type: Array,
value: [],
observer: function(newVal, oldVal){
console.log(newVal, oldVal)
}
},
show: {
type: Boolean,
value: true
}
},
created () {
console.log(this.data)
console.log(this.show)
}
})
```
其中
- type 类型名,必填,接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型)
- value 属性初始值,可选,如果未指定则会根据类型选择一个
- observer 属性被改变时执行的函数,可选,也可以写成在methods段中定义的方法名字符串, 如:'_propertyChange'。接收两个参数,newVal 和 oldVal。
**引用组件的页面**
*pages/test/index.wxml*
直接将需要传递的值写到属性中,注意使用 {{}} 进行数据绑定。
```html
<view>
<componentTest id="com"
data="{{[6,8,9,4]}}"
show="{{true}}"
>
<view slot="before">这里是插入到组件slot name="before"中的内容</view>
<view slot="after">这里是插入到组件slot name="after"中的内容</view>
</componentTest>
</view>
```
- 简介
- 第一章 公众号开发
- 使用微信JSSDK
- 接口权限配置
- 分享接口
- 隐藏按钮项
- 微信支付
- 第二章 小程序开发
- 基础知识
- 分包加载
- WXSS样式表
- 配置
- app.json配置
- window
- tabBar
- page.json配置
- 逻辑层
- app.js
- 场景值
- page.js
- 初始化数据
- 生命周期函数
- 页面相关事件处理函数
- 事件处理函数
- 页面实例方法
- 路由
- 文件作用域
- 模块化
- 视图层
- 模板语法
- 列表渲染
- 条件渲染
- 模板
- 事件
- 引用
- WXS语法规范
- WXS数据类型
- WXS控制流程
- WXS基础类库
- 组件
- 视图容器
- view
- scroll-view
- swiper
- movable-view
- cover-view
- 基础组件
- icon
- text
- rich-text
- progress
- 表单组件
- button
- checkbox
- form
- input
- label
- picker
- picker-view
- radio
- slider
- switch
- textarea
- 导航组件
- navigator
- 媒体组件
- audio
- image
- video
- camera
- 地图组件
- map
- 画布组件
- canvas
- 开放能力
- web-view
- 自定义组件
- 组件模版和样式
- Component
- 组件传值
- 组件事件
- Behaviors
- 组件间关系
- 网络请求
- wx.request
- 微信登录
- 获取 openid 和 unionid
- 获取用户信息
- 将 wx.request 封装为 promise
- 上传图片接口封装
- 数据存储
- 存储数据和读取数据
- 获取数据缓存信息
- 移除数据缓存
- 获取用户设置
- openSetting
- getSetting
- 第三章 小游戏开发
- 参考资料