小程序

小程序里的自定义组件(五):observer在设置月份上的运用

2019-02-13  本文已影响16人  程序员三千_

现在我们新建一个组件test,组件的js代码为:

这里我们发现properties里的属性index是一个对象,并且index包含三个字段, type 、 value、 observer 。

我们查看小程序官方文档:

type 表示属性类型、 value 表示属性初始值、 observer 表示属性值被更改时的响应函数。

现在我们解释下,上图observer里的函数的意思:就是我们如果设置index的数值小于10,就在index之前加上一个“0”,如果大于10就设置原来的index。在这段代码中,我们发现:在setData的时候我们改变的的是data里_index的值,不是改变本身index的值,为什么呢?

因为在observer函数里,是不能改变自身的值的,要不然会无限递归调用。所以我们在data里设置了一个新的变量_index用来接收index被更改时,我们设置的值。因此,在组件的wxml里我们要绑定的是_index不是index,

所以当我们在page里 <v-test index="{{8}}" /> 传入8时,实际会显示08

上一篇下一篇

猜你喜欢

热点阅读