微信小程序观察者模式 observers

const app = getApp();
const request = require('../../../utils/request.js');
Component({
    options: {
        multipleSlots: true // 在组件定义时的选项中启用多slot支持
    },
    /**
     * 组件的属性列表
     */
    properties: {
        commission: {
            type: String,
        },
        role: {
            type: Object,
        }
    },
    /**
     * 组件的初始数据
     */
    data: {
        switchType: '',
        role_commission: '',
    },
    /**
     * 组件的方法列表
     */
    methods: {},

    // 观察者
    observers: {
        'commission'(commission) {
            this.setData({
                switchType: commission == 0 ? false : true,
                role_commission: commission,
            })
        }
    },
});

目的:向自定义组件中传入一个参数,在页面加载完前获取参数

问题:ready,attached, show中都获取不到properties接受的参数

解决:使用observers观察者模式,在properties中参数改变时,讲参数写入组件的初始数据data的变量中,使用赋值的新变量操作页面加载逻辑

 

posted @ 2019-11-05 15:39  艹丶蛋  阅读(3231)  评论(0编辑  收藏  举报