2017-02-02 2 views
1

Ich möchte eine Richtlinie auf alle Tags input programmgesteuert anwenden. Zwei Gründe hierfür sind:VueJS - Wie wendet man Direktiven auf alle passenden Tags an?

  1. Ich möchte nicht über alle Eingänge in meiner App gehen haben, um die Richtlinie
  2. hinzufügen Wenn ich die Richtlinie gegen alle Eingänge zu einem späteren Zeitpunkt ändern möchten, ist es in einem Platz.

Ist das möglich? Ich habe die docs überprüft, aber sie scheinen nicht zu erwähnen, es auf eine andere Weise anzuwenden, als das Tag direkt auf das Element anzuwenden.

Mein aktueller Code ist wie folgt:

<input type="text" class="form-control input-sm" id="price" v-model="model.doc.price" v-floating-label> 
+0

Möchten Sie bedingt, dass die Richtlinie hinzufügen ? –

+0

@DivyanthJayaraj Nicht so wie es aussieht, aber ich kann Potential für diese Anforderung sehen, also wenn es möglich ist, ja. – webnoob

Antwort

0

Ich hatte einen hirntoten Moment scheint es. Ich brauche nur eine inputKomponente. Ich kann dann ändern, was ich brauche, und es wird überall dort aktualisiert, wo die Eingabekomponente verwendet wurde, und anstelle des Standard-HTML-Tags input verwende ich meine Komponente.

Langer Tag ...

ich diese Frage selbst beantwortet haben, anstatt es für den Fall, jemand anderes zu löschen hat die gleiche hirntot Moment in der Zukunft;)

0

Sie diese Richtlinie auf eine Bedingung binden kann wie so

<input type="text" 
     class="form-control input-sm" 
     id="price" 
     v-model="model.doc.price" 
     :v-floating-label=(condition)> 

Wenn condition == true wird v-model-float Richtlinie auf Ihre Eingabe angewendet werden.

Update 1: Aus den Kommentaren wird die Implementierung immer noch die gleiche sein, außer dass Sie die Bedingung von einem Ort aus steuern. Auf diese Weise können Sie die Anweisung zu einem späteren Zeitpunkt entfernen, indem Sie diese Bedingung einfach auf false setzen.

+0

Ich weiß, wie man eine Direktive auf einen Eingang anwendet (mein ursprünglicher Code zeigt das). Ich möchte es auf * ALL * Eingaben programmatisch anwenden. P. Ich habe die Frage bearbeitet, um klarer zu sein. – webnoob

+0

Sie möchten also, dass Ihre Vue-App das DOM analysiert, Eingabe-Tags findet und diese Anweisung anwendet? –

+0

Im Wesentlichen ja. – webnoob

Verwandte Themen