Hallo, ich bin etwas verwirrt über das vm.$dispatch
da ich erwartet hatte, dass es Werte aus dem Rückruf des Listeners für weitere Logik zurückgibt, die nicht in den Rückruf _(imo)_ eingefügt werden konnten, aber es stellte sich heraus, dass es der Instanz es selbst. Ich lerne Vue und habe wahrscheinlich etwas verpasst.
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);
}
}
})
Wie Sie sehen, ist die Vorerstellungsoperation optional.
Dankeschön.
SomeAsyncCode === false
$dispatch
erwartet, dass Sie mehrere Argumente einschließlich einer Callback-Funktion übergeben.this.$dispatch('object:creating', args, function() {
// The business logic
this.performWhatever(args);
})
und auf der Empfängerseite,
events: {
'object:creating' : function (args, callback) {
// Do something with args and fire callback (or not)
callback()
}
}
Danke @fnlctrl für die Erklärung :)
@fnlctrl Danke für die
Hilfreichster Kommentar
SomeAsyncCode === false
$dispatch
erwartet, dass Sie mehrere Argumente einschließlich einer Callback-Funktion übergeben.und auf der Empfängerseite,