Maison  >  Article  >  interface Web  >  Analyse de la liaison d'entrée de formulaire et des bases des composants dans Vue

Analyse de la liaison d'entrée de formulaire et des bases des composants dans Vue

不言
不言original
2018-07-17 16:50:281103parcourir

Cet article partage avec vous une analyse de la liaison d'entrée de formulaire et des bases des composants dans Vue. Les amis dans le besoin peuvent s'y référer.

Objectif :

  1. Maîtriser avec compétence le traitement des formulaires dans vue

  2. Une brève revue de ce que vous avez appris auparavant, et Ecrivez un exemple et appliquez ce que vous avez appris (il est préférable de laisser le document)

La méthode de traitement du formulaire en vue

  1. La méthode de traitement du formulaire dans vue est utilisée avec l'instruction v-model, cette instruction peut directement lier une donnée aux attributs valeur, vérifiés et sélectionnés dans l'élément du formulaire. En même temps, ces attributs auront également leurs valeurs initiales. ​​ignoré, et les données de l'instance Vue seront toujours utilisées comme source de données.

  2. Après avoir utilisé v-model, l'interpolation entre 4750256ae76b6b9d804861d8f69e79d340587128eee8df8f03d0b607fe983014 ne sera pas valide et sera être remplacé par v-model

Liaison bidirectionnelle (v-model)

1. Valeur de liaison : texte, zone de texte (chaîne)
texte :

<input v-model="message" placeholder="edit me">
textarea :

<textarea v-model="message" placeholder="add multiple lines"></textarea>
2. Liaison vérifiée : checkout (valeur booléenne de liaison unique, tableaux de chaînes de liaison multiples), radio (chaîne)

checkout (simple) :

<input type="checkbox" id="checkbox" v-model="checked">
checkout (multiple) :

<input type="checkbox" id="jack" value="Jack" v-model="checkedNames">
<label for="jack">Jack</label>
<input type="checkbox" id="john" value="John" v-model="checkedNames">
<label for="john">John</label>
<input type="checkbox" id="mike" value="Mike" v-model="checkedNames">
<label for="mike">Mike</label>
radio :

<input type="radio" id="one" value="One" v-model="picked">
<label for="one">One</label>
<br>
<input type="radio" id="two" value="Two" v-model="picked">
<label for="two">Two</label>
Reliure sélectionnée : select(string)

<select v-model="selected">
    <option disabled value="">请选择</option>
    <option>A</option>
    <option>B</option>
    <option>C</option>
</select>
modificateur (utilisé dans les instructions du modèle v)

.lazy : les événements déclenchés sont différents, utilisez le déclencheur de changement au lieu du déclencheur d'entrée

.number : convertir automatiquement en type numérique
.trim : filtrer automatiquement symboles d'espaces de garde

Exemple

form.html

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>表单输入绑定</title>
    <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.min.js"></script>
</head>
<body>
    <p id="app">
        <form>
            <!-- 文本 -->
            <input type="text" v-model="formData.textValue">{{formData.textValue}}<br>
            <textarea v-model="formData.textareaValue"></textarea>{{formData.textareaValue}}<br>
            <!-- checkout(单个) -->
            <input type="checkbox" id="checkbox" v-model="formData.isChecked"><label for="checkbox">点我啊</label><br>
            <!-- 多个多选 -->
            <input type="checkbox" id="haha" value="haha" v-model="formData.checkedValues">
            <label for="haha">哈哈</label>
            <input type="checkbox" id="hoho" value="hoho" v-model="formData.checkedValues">
            <label for="hoho">呵呵</label>
            <input type="checkbox" id="hihi" value="hihi" v-model="formData.checkedValues">
            <label for="hihi">嘻嘻</label>
            <br>
            多选选中的是<span v-for="value of formData.checkedValues"> {{value}} </span>
            <br>
            <!-- 单选 -->
            <input type="radio" id="one" value="one" v-model="formData.pickedValue">
            <label for="one">one</label>
            <input type="radio" id="two" value="two" v-model="formData.pickedValue">
            <label for="two">two</label>
            <input type="radio" id="three" value="three" v-model="formData.pickedValue">
            <label for="three">three</label>
            <br>
            单选选中的是<span> {{formData.pickedValue}} </span>
            <br>
            <!-- 下拉选择框 -->
            <select v-model="formData.selectedValue">
                <option disabled value="">请选择</option>
                <option>A</option>
                <option>B</option>
                <option>C</option>
            </select>
            <br>
            下拉选择框选中的是<span> {{formData.selectedValue}} </span>
            <br>
            <a @click="submitForm">提交</a>
        </form>
    </p>
</p>
<script>
    var vm = new Vue({
        el: &#39;#app&#39;,
        data: {
            formData: {
                textValue: &#39;&#39;,
                textareaValue: &#39;&#39;,
                isChecked: true,
                checkedValues: [],
                pickedValue:&#39;&#39;,
                selectedValue: &#39;&#39;
            },
            msg: &#39;这是一句消息&#39;
        },
        methods: {
            submitForm: function(){
                for(var key in this.formData) {
                    obj[key] = this.formData[key];
                }
                console.log(this.formData);
                console.log(this.msg);
            }
        }
    });
</script>
</body>
</html>
Recommandations associées :

Analyse du traitement des événements dans Vue

Analyse de la liaison de classe et de style et du rendu conditionnel et de liste dans Vue

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn