但需要同时监听多个值的变化时,原始操作是通过去对每个属性进行监听,
props: ['id', 'data', 'name', 'period', 'unit'],
因为watch可以监听计算属性computed,可以通过computed把所有要监听的数据组成对象,再去监听该对象
需要监听的数据逐个写,这样重复的代码很多,不推荐
这里想要实现的功能是,数据改变了,比对name1和name2是否一致,显示巧用computed更胜一筹
- watch: {
- data: {
- handler() {
- if (this.chart) {
- this.setOption();
- }
- },
- deep: true,
- immediate: false
- },
- period: {
- handler() {
- if (this.chart) {
- this.setOption();
- }
- },
- deep: true,
- immediate: false
- }
- }
- computed: {
- chartData() {
- const {data, name, period, unit} = this
- return{
- data, name, period, unit
- }
- }
- },
- watch: {
- chartData: {
- handler(newVal, oldVal) {
- if (this.chart) {
- this.setOption();
- }
- },
- deep: true,
- immediate: false
- }
- },