Je hebt gelijk in de stappen die je hierboven hebt beschreven, en ik denk dat het enige dat je mist, is dat je een give-parameter aan je ingediende functie moet geven. Als rekwisiet in het vue-sjabloon geef je door ($ event). In het paginascript (paginanaam.pagina.js) kunt u de parameter de naam geven die u maar wilt, waar u de ingediende functie definieert.
Hoewel het niet lijkt alsof je het nodig hebt, ga ik hier een grondig voorbeeld geven voor het geval iemand anders problemen heeft met ajax-form-functies in Sails.js.
In uw sjabloon(html):
<ajax-form
action="<camelcase of the file for your action>"
:handle-parsing="parseForm"
:submitted="submittedForm($event)"
@rejected="rejectedForm($event)"
:form-data="formData"
:form-rules="formRules"
:form-errors.sync="formErrors"
:cloud-error.sync="cloudError"
>
<input type="text" id="input1" v-model="input1">
Hier, form-data
zal verwijzen naar een object dat de gegevens worden opgeslagen. De sleutels komen van wat je het v-model' as for a given input.
form-rulesis where you specify an object of objects. They key of each is the input name from
v-modeland the value can be a string or array of strings for the rules set.
form-errorsspecifies an object where errors will go if the form triggers any errors upon submission. If this happens, data does not get sent to the server and neither the submitted or rejected function get run.
cloud-error.sync` specificeert een object waar eventuele back-end-fouten naartoe gaan als de actie een niet-200-antwoord retourneert.
In uw paginascript (paginanaam.pagina.js):
data: {
formData: {},
formErrors: {},
formRules: {
input1: 'required'
},
cloudError: ''
},
methods: {
parseForm: function () {
// You can do parsing and custom validations here, but return all data
// you want to send to the server as an object called 'argins'
return argins;
},
submittedForm (data) {
// Here you can use any data that is returned from the action, like
console.log('returned data: ', data);
},
rejectedForm (err) {
// This function runs if the server returns a non-200 response
console.log(err);
}
}