Tengo varios filtros que están configurados en falso y, si se hace clic, se vuelven verdaderos y debo implementar el filtro específico. ¿Cómo puedo usar un observador para buscar el cambio de mi filtro de falso a verdadero? Actualmente, como tengo todas mis funciones en un observador, si se hace clic en un filtro, se implementan todos los filtros. Mientras que necesito que sea solo el filtro específico relacionado con el botón de filtro.
<sankey-filter label="string1" v-model="filters.string1" /> <sankey-filter label="string2" v-model="filters.string2" /> <sankey-filter label="string3" v-model="filters.string3" /> data() { return { filters: { statusString1: false, statusString2: false, statusString3: false, } watch: { filters: { handler: function(){ this.filterString1(), this.filterString2(), this.filterString2(), }, deep: trueUtilice una ruta delimitada por puntos como clave del observador.
watch: { 'filters.string1' () { this.filterString1(), }, 'filters.string2' () { this.filterString2(), }, 'filters.string3' () { this.filterString3(), }, }Vue $watch proporciona la función de devolución de llamada con dos parámetros (newValue, oldValue) para que U pueda verificar el nuevo valor de cada filtro si es true para cada acción de filtro
watch: { filters: { handler: function({statusString1, statusString2, statusString3}){ if (statusString1) this.filterString1() if (statusString2) this.filterString2() if (statusString3) this.filterString3() }, deep: true } }