ホームページ > ウェブフロントエンド > jsチュートリアル > Vue のフォーム入力バインディングとコンポーネントの基本の分析

Vue のフォーム入力バインディングとコンポーネントの基本の分析

不言
リリース: 2018-07-17 16:50:28
オリジナル
1140 人が閲覧しました

この記事では、Vue のフォーム入力バインディングとコンポーネントの基本の分析について説明します。必要な方は参考にしてください。

目標:

  1. vue でのフォームの処理に習熟する

  2. これまでに学んだことを簡単に復習し、学んだことを適用する例を作成します (できればドキュメントなしで)

フォームvue

  1. vue の処理メソッドは v-model 命令を使用します。この命令は、form 要素内の value、checked、および selected 属性にデータを直接バインドすることができます。同時に、これらの属性も無視されます。初期値は無視され、常に vue インスタンスのデータがデータ ソースとして使用されます。

  2. v-model を使用した後は、<textarea></textarea> 間の補間は無効になり、v-model に置き換えられます。

双方向バインディング (v -model)

1. バインディング値: text、textarea (文字列)

text:

<input v-model="message" placeholder="edit me">
ログイン後にコピー

textarea:

<textarea v-model="message" placeholder="add multiple lines"></textarea>
ログイン後にコピー

2. チェックアウト (単一バインディング ブール値、複数バインディング) string 配列 )、radio(string)

checkout(single):

<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>
ログイン後にコピー

3. 選択されたバインディング: select(string)

<select v-model="selected">
    <option disabled value="">请选择</option>
    <option>A</option>
    <option>B</option>
    <option>C</option>
</select>
ログイン後にコピー

modifier (v -model コマンドで使用)上)

.lazy: トリガーされるイベントは異なります。入力トリガーの代わりに変更トリガーを使用します

.number: 数値型に自動的に変換されます
.trim: ガード空白記号を自動的にフィルターします

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>
ログイン後にコピー

関連推奨事項:

Vue でのイベント処理の分析

Vue でのクラスとスタイルのバインディングと条件付きおよびリストのレンダリングの分析

以上がVue のフォーム入力バインディングとコンポーネントの基本の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート