Skip to content

Commit ed5efde

Browse files
ludo237yyx990803
authored andcommitted
Added silent dispatch (#163)
1 parent c51c10f commit ed5efde

File tree

1 file changed

+32
-2
lines changed

1 file changed

+32
-2
lines changed

docs/it/mutations.md

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const store = new Vuex.Store({
1616
}
1717
}
1818
})
19-
```
19+
```
2020

2121
Utilizzare il nome della mutations tutto in maiuscolo è solo una convenzione che aiuta a distinguere le mutations da funzioni normali.
2222

@@ -68,6 +68,36 @@ mutations: {
6868
}
6969
```
7070

71+
### Disptach Silezioso
72+
73+
> Richiede >=0.6.3
74+
75+
In alcuni casi è possibile che vogliate un middleware che non ascolti il cambio di stato. Per esempio disptach multipli allo store in un breve periodo di tempo non è detto che sia necessario tracciarli tutti i cambiamenti. In questo caso è possibile effettuare un dispatch silezioso.
76+
77+
*Nota:* Questo sistema andrebbe evitato dove possibile. Il sistema di dispatch silezioso impedisce il tracking degli stati da parte dei tool di sviluppo. Utilizzate questa tecnica se strettamente necessaria.
78+
79+
Effettuare il dispatch silezioso è questione di inserire il flag `silent`.
80+
81+
``` js
82+
/**
83+
* Esempio: Barra di progresso.
84+
**/
85+
export function start(store, options = {}) {
86+
let timer = setInterval(() => {
87+
store.dispatch({
88+
type: INCREMENT,
89+
silent: true,
90+
payload: {
91+
amount: 1,
92+
},
93+
});
94+
if (store.state.progress === 100) {
95+
clearInterval(timer);
96+
}
97+
}, 10);
98+
}
99+
```
100+
71101
### Le Mutation Seguono le Regole di Vue sulla Reattività
72102

73103
Dato che lo stato di Store in Vuex segue la filosofia "reattiva" di Vue, quando mutiamo uno stato, tutti i componenti che osservano tale stato riceveranno l'aggiornamento in modo automatico.
@@ -103,7 +133,7 @@ const store = new Vuex.Store({
103133
state: { ... },
104134
actions: { ... },
105135
mutations: {
106-
// possiamo sfruttare la sintassi ES2015
136+
// possiamo sfruttare la sintassi ES2015
107137
// per utilizzare una costante come nome di una funzione!
108138
[SOME_MUTATION] (state) {
109139
// stato mutato

0 commit comments

Comments
 (0)