zoukankan      html  css  js  c++  java
  • Vue学习计划基础笔记(五)

    表单输入绑定、组件基础

    目标:

    1. 熟练掌握vue中表单的处理方式
    2. 对之前学习的内容简单回顾一下,并写一个实例,学以致用(最好脱离文档)

    vue中表单的处理方式

    1. vue中表单的处理使用了v-model指令, 这个指令可以直接把一个数据绑定到表单元素中的value,checked,selected特性,同时这些特性也会被忽略掉初始值,而总是将vue实例的数据作为数据来源.
    2. 使用了v-model之后<textarea></textarea>之间的插值就不会有效了,会被v-model代替.

    双向绑定(v-model)

    1.绑定value: text,textarea(字符串)
    text:

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

    textarea:

    <textarea v-model="message" placeholder="add multiple lines"></textarea>
    

    2.绑定checked: checkout(单个绑定布尔值,多个绑定字符串数组), radio(字符串)
    checkout(单个):

    <input type="checkbox" id="checkbox" v-model="checked">
    

    checkout(多个):

    <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.绑定selected: select(字符串)

    <select v-model="selected">
        <option disabled value="">请选择</option>
        <option>A</option>
        <option>B</option>
        <option>C</option>
    </select>
    

    修饰符(用在v-model指令上)

    .lazy: 触发的事件不一样,使用change触发,而不是input触发
    .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>
        <div 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>
        </div>
    </div>
    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                formData: {
                    textValue: '',
                    textareaValue: '',
                    isChecked: true,
                    checkedValues: [],
                    pickedValue:'',
                    selectedValue: ''
                },
                msg: '这是一句消息'
            },
            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>
    
  • 相关阅读:
    研磨设计模式
    Java 集合类
    晚上提高项目效率,下午安卓又是过
    晚上提高项目效率,下午安卓又是过
    项目已经进行到医生管理,在完成文本框这个导入后就基本上剩下导出表格数据了
    晚上开始就要解决这个查询乱码的问题
    现在不能使用foxmail同步qq记事本功能,可能是对字数的大小有限制
    早上看到一张余票,可是没有等网页进入到结果页面,网络原因就票没了
    早上看到一张余票,可是没有等网页进入到结果页面,网络原因就票没了
    昨天晚上也弄不清楚是自己密码被盗了还是由于ip冲突
  • 原文地址:https://www.cnblogs.com/chifung/p/9323375.html
Copyright © 2011-2022 走看看