Hola, estoy un poco confundido acerca de vm.$dispatch
ya que esperaba que devolviera valores de la devolución de llamada del oyente para obtener más lógica que no se pudo colocar en la devolución de llamada _ (imo) _ pero resultó ser el ejemplo de sí mismo. Estoy aprendiendo Vue y probablemente me perdí algo.
var vm = new Vue({
// omitted
events: {
'object:creating' : function (args) {
// omitted
return false;
},
'object:created' : function (args) {
// omitted
}
}
});
var child = new Vue({
parent: vm,
// omitted
methods: {
performWhatever: function (args) {
//
},
createObject: function (args) {
// Pre-create
if ( this.$dispatch('object:creating', args) === false ) {
// Stop the creation
}
// The business logic
this.performWhatever(args);
// Post-create
this.$dispatch('object:created', args);
}
}
})
Como puede ver, la operación de creación previa es opcional.
Gracias.
SomeAsyncCode === false
$dispatch
espera que pase varios argumentos, incluida una función de devolución de llamada.this.$dispatch('object:creating', args, function() {
// The business logic
this.performWhatever(args);
})
y del lado del receptor,
events: {
'object:creating' : function (args, callback) {
// Do something with args and fire callback (or not)
callback()
}
}
Gracias @fnlctrl por la explicación :)
@fnlctrl Gracias por la explicación. Es asincrónico, lo olvidé, qué vergonzoso = D
Comentario más útil
SomeAsyncCode === false
$dispatch
espera que pase varios argumentos, incluida una función de devolución de llamada.y del lado del receptor,