微信小程序组件 component 中自执行一个函数的处理

情景描述:

开发了一个微信小程序的页面  A   , 然后在页面A 中引入一个组件 B,

现在想在组件 B 加载进来的时候执行一个请求,获取数据进行B组件的渲染;

如何去写这个请求?

 

解决方案1: 使用组件的生命周期

你可能指导小程序的生命周期,但是组件自己也是有生命周期函数的,

上面的请求我们可以写在组件的生命周期函数 attached()中;

 

解决方案2:使用参数传递触发函数请求

通过  properties 中的 data 中的 observer函数来触发我们的请求数据的处理;

 

示例(B组件):

Component({
    properties: {
        data: {
            type: Object,
            value: {},
            observer(newVal, oldVal) {
                // 第一种方式通过参数传递的方式触发函数的执行
                this.logInfo();
            }
        }
    },

    data:{

    },

    methods: {
        logInfo(){
            console.log("发起请求获取数据");
        }
    },

    attached(){
        // 第二种方式通过组件的生命周期函数执行代码
        console.log("发起请求获取数据");
    }
})

 

如果通过 observer 函数进行触发;

那么在A页面中引入组件的时候需要加 data 处理,加data就是为了触发observer 函数从而执行我们的函数请求处理:

<accept data="123"></accept>

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在微信小程序使用组件时,可以通过监听函数来实现组件页面之间的交互。下面是一个示例,展示了如何在微信小程序使用组件监听函数: 1. 在组件的js文件定义监听函数: ```javascript Component({ methods: { // 监听函数 onTap: function(e) { // 执行某些操作 console.log('组件被点击了'); // 触发自定义事件,将数据传递给页面 this.triggerEvent('myEvent', { value: 'Hello World' }); } } }) ``` 2. 在页面的wxml文件引入组件,并绑定监听函数: ```html <view> <!-- 引入组件,并绑定监听函数 --> <my-component bind:myEvent="onComponentEvent"></my-component> </view> ``` 3. 在页面的js文件定义监听函数的回调方法: ```javascript Page({ // 监听函数的回调方法 onComponentEvent: function(e) { // 获取传递过来的数据 var value = e.detail.value; // 执行某些操作 console.log('接收到组件传递的数据:', value); } }) ``` 在以上示例组件定义了一个名为`onTap`的监听函数,并在函数内部执行了一些操作,并通过`triggerEvent`方法触发了一个自定义事件`myEvent`,并将数据`{ value: 'Hello World' }`传递给页面。 在页面引入该组件时,使用`bind:myEvent`将页面的`onComponentEvent`方法绑定到组件的`myEvent`事件上。当组件内部的`onTap`监听函数被触发时,会执行`triggerEvent`方法,触发`myEvent`事件,并将数据传递给页面的`onComponentEvent`方法页面的`onComponentEvent`方法就是监听函数的回调方法,可以在该方法内部获取传递过来的数据,并执行一些操作。 这样,组件页面之间就可以通过监听函数进行交互了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值