小程序页面与组件传递数据

通过properties(类似vue父组件向子组件)

组件

js代码

properties: {
    name:{
      type:String,
      value: '',
      observer:function(newv,oldv,path){
        console.log(newv,oldv,path)
        // 输出malinshu xiaoxiao["name"]
        this.setData({
          hello:newv
        })
      }
    }
  },

wxml页面代码:
{{hello}}

page页面

在这里插入图片描述
js代码

 btntap(){
  this.setData({
    pageName:'malinshu'
  })
},

通过事件触发(类似vue子组件向父组件)

组件

js代码:

onTap: function () {
    var myEventDetail = {name:'xiao'} // detail对象,提供给事件监听函数
    var myEventOption = { sex:'shu'} // 触发事件的选项
    this.triggerEvent('myevent', myEventDetail, myEventOption)
  }

wxml代码:

<button bind:tap="onTap></button>
页面

js代码:

onMyEvent(e){
    console.log(e)
  },

wxml代码:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在微信小程序中,组件可以通过属性(`properties`)将数据传递页面页面可以通过事件(`event`)接收组件数据。 以下是组件页面传值的步骤: 1. 在组件的 `js` 文件中,使用 `properties` 定义要传递的属性: ```javascript Component({ properties: { message: { type: String, value: '' } }, // ... }) ``` 在上面的代码中,我们定义了一个名为 `message` 的属性,并设置了它的类型为 `String`,默认值为空字符串。 2. 在组件的 `wxml` 文件中,使用 `{{}}` 语法将属性绑定到组件的模板中: ```html <view>{{message}}</view> ``` 在上面的代码中,我们将 `message` 属性绑定到了一个 `view` 组件中,并使用 `{{}}` 语法将属性值显示在页面上。 3. 在页面中使用组件时,可以通过属性的方式将数据传递组件: ```html <custom-component message="Hello, World!" /> ``` 在上面的代码中,我们将一个字符串 `"Hello, World!"` 通过 `message` 属性传递给了组件。 需要注意的是,如果属性值是一个变量,需要使用 `{{}}` 语法将变量绑定到属性上,例如: ```html <custom-component message="{{message}}" /> ``` 在上面的代码中,我们将一个名为 `message` 的变量通过 `message` 属性传递给了组件。 在组件中,可以通过 `this.properties` 访问到传递进来的属性值,例如: ```javascript Component({ properties: { message: { type: String, value: '' } }, methods: { handleClick: function () { console.log(this.properties.message); } } }) ``` 在上面的代码中,我们定义了一个名为 `handleClick` 的方法,在方法中通过 `this.properties.message` 访问了传递进来的 `message` 属性值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值