Du har ret i de trin, du har beskrevet ovenfor, og jeg tror, at alt du mangler er, at du skal sætte give parameter til din indsendte funktion. Som rekvisit i vue-skabelonen sender du ($event) ind. I sidescriptet(side-navn.side.js) kan du få parameteren navngivet, hvad du vil, hvor du definerer den indsendte funktion.
Selvom det ikke ser ud til, at du har brug for det, vil jeg sætte et grundigt eksempel her, hvis nogen andre har problemer med ajax-form funktioner i Sails.js.
I din skabelon(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">
Her form-data
vil referere til et objekt, som dataene bliver gemt. Nøglerne kommer fra det, du indstillede 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` angiver et objekt, hvor eventuelle backend-fejl vil gå, hvis handlingen returnerer et ikke-200-svar.
I dit sidescript (sidenavn.side.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);
}
}