先放答案:
> ```javascript
mounted() {
const m = this.$refs.score; // countTo
// 监听 displayValue / 分数的数字滚动变化
const that = this;
Object.defineProperty(m, 'displayValue', {
get: function () {
return m.displayValue;
},
set: function (v) { // 数据更新后会返回更新后的值
that.scoreVal = v;
}
})
}
```
前段时间做了个包含进度条的 H5 页面,要求进度条和进度值有个过渡动画。用的 countTo 这个数字滚动插件,在这里记录一下我监听的一个思路:
由于 countTo 并没有 API 能够直接监听到它这个数字的变化所以我们只能够手动去监听,利用 defineProperty 来进行数据的劫持。
网友评论