2016-08-31 3 views
12

hinzufügen Ich benutze vuejs und ich möchte wissen, wie man Kontrolle über Eingänge (fügen Sie deaktiviert Attribut, wenn nötig). Gibt es eine Möglichkeit, dynamische Attribute in Vuejs hinzuzufügen? Im Folgenden meine Textfeld Komponente:Wie dynamisch Attribute in VueJs

<template> 
    <input type="text" placeholder="{{ placeholder }}" v-model="value"> 
    </template> 
    <script> 
    export default { 
     props: { 
     disabled: {type: Boolean, default: false}, 
     placeholder: {type: String, default: ""}, 
     value: {twoWay: true, default: ""} 
     } 
    } 
    </script> 

Nutzungs:

<textfield placeholder="Name" value.sync="el.name" :disabled="true"></textfield> 

Antwort

17

Sie es an eine Variable binden kann v-bind:disabled="foo" oder :disabled="foo" kurz mit:

<textfield label="Name" value.sync="el.name" :disabled="myVar"> 

dann in Vue Sie kann this.myVar = true nur einstellen und es wird die Eingabe deaktivieren.

Edit: fügen Sie diese zu Ihrer Vorlage:

<template> 
    <input type="text" :disabled="disabled" placeholder="{{ placeholder }}" v-model="value"> 
</template> 
+0

Vielen Dank für Ihre Antwort. Als Neuling in VueJs, kannst du mir bitte helfen, es zum Laufen zu bringen. (Code aktualisiert) –

+0

Ihr Code ist in Ordnung, Sie müssen nur eine Variable von Ihrer übergeordneten Komponente übergeben, die wahr oder falsch ist, abhängig davon, ob Sie möchten, dass es deaktiviert ist. Also '' – Jeff

+0

siehe edit - das bindet das deaktivierte Attribut an das Eingabefeld – Jeff

Verwandte Themen