No tengo idea de cómo llamar a esto, así que no sé qué buscar. He mirado las directivas pero tampoco estoy seguro de que esto sea lo que es, básicamente, quiero poder hacer:

v-on:click.validate="runCode"

Donde validate es un método personalizado que se ejecuta antes de que se llame a runCode (de la misma manera que funciona .prevent.

¿Alguien puede señalarme algunos documentos / un ejemplo?

Más contexto: he escrito algunos componentes de formularios personalizados que alimentan datos de validación en mi estado. Estos componentes de formulario se pueden utilizar como y cuando, es decir,

<msp-input
          v-model="form.username"
          :validation="{ required, email }"
          float-label="Email Address"
          type="email"
        />

Quiero poder escribir un botón en cualquiera de los formularios que haga que la ventana emergente de validación muestre si el estado muestra que alguna validación ha fallado. Podría tener un componente <msp-button> para hacerlo, pero pensé que sería bueno tener un .validate en línea.

1
webnoob 15 nov. 2017 a las 03:48

2 respuestas

La mejor respuesta

Usando el ejemplo v-on:click.validate, validate se llama modificador, y click es un argumento para la directiva v-on. Esto se trata en la documentación de directivas personalizadas.

Actualmente, no hay forma de agregar sus propios modificadores personalizados a las directivas integradas (esto se trata en varios problemas del repositorio de github). Potencialmente, podría escribir su propia directiva y manejar argumentos y modificadores como mejor le parezca.

De lo contrario, su otro enfoque suena bien.

1
Bert 15 nov. 2017 a las 01:03

Por qué no simplemente hacer v-on: click = "validar" y luego poner runCode en la última línea de su método de validación.

0
kmligue 15 nov. 2017 a las 00:53