码迷,mamicode.com
首页 > 其他好文 > 详细

表单与v-model

时间:2018-09-04 11:43:08      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:npm   head   option   checked   main   href   check   输入框   body   

基本用法

vue.js提供了v-model指令,用于在表单类元素上双向绑定数据,例如在输入框上使用,输入的内容会实时映射到绑定的数据上

example1:修改input框内容,message会实时渲染

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>exmaple</title>
    <link rel="stylesheet" href="main.css"/>
</head>
<div id="app">
    <input type="text" v-model="message">
    <p>输入的内容是{{ message }}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="main.js"></script>
</body>
</html>

  

js

var app = new Vue({
    el: "#app",
    data : {
        message: ‘‘
    }
});

  

example2:单选按钮

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>example2</title>
    <link rel="stylesheet" href="main.css"/>
</head>
<div id="app">
    <input type="radio" v-model="picked" value="HTML" id="html">
    <label for="html">HTML</label>
    <br>
    <input type="radio" v-model="picked" value="JS" id="js">
    <label for="js">JS</label>
    <br>
    <input type="radio" v-model="picked" value="CSS" id="css">
    <label for="css">CSS</label>
    <br>
    <p>选择的项是{{ picked }}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="main.js"></script>
</body>
</html>

  

js

var app = new Vue({
    el: "#app",
    data : {
        picked:‘js‘
    }
});

  

 example3:多选框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>example2</title>
    <link rel="stylesheet" href="main.css"/>
</head>
<div id="app">
    <input type="checkbox" v-model="checked" value="HTML" id="html">
    <label for="html">HTML</label>
    <br>
    <input type="checkbox" v-model="checked" value="JS" id="js">
    <label for="js">JS</label>
    <br>
    <input type="checkbox" v-model="checked" value="CSS" id="css">
    <label for="css">CSS</label>
    <br>
    <p>选择的项是{{ checked }}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="main.js"></script>
</body>
</html>

  

js

var app = new Vue({
    el: "#app",
    data : {
        checked:[‘JS‘,‘HTML‘]
    }
});

  

example4:选择框

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>example2</title>
    <link rel="stylesheet" href="main.css"/>
</head>
<div id="app">
    <select v-model="selected" multiple>
        <option>html</option>
        <option>js</option>
        <option>css</option>
    </select>
    <p>选择的项是{{ selected }}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="main.js"></script>
</body>
</html>

  

js

var app = new Vue({
    el: "#app",
    data : {
        selected: [‘html‘,‘css‘]
    }
});

  

此时v-model绑定的是一个数组

实际业务中,option通过v-for动态生成,value和text通过v-bind动态生成

example4可以修改一下

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>example2</title>
    <link rel="stylesheet" href="main.css"/>
</head>
<div id="app">
    <select v-model="selected">
        <option v-for="option in options" :value="option.value">{{ option.text }}</option>
    </select>
    <p>选择的项是{{ selected }}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="main.js"></script>
</body>
</html>

  

js

var app = new Vue({
    el: "#app",
    data : {
        selected: ‘html‘,
        options:[
            {
                text:‘html‘,
                value:‘html‘,
            },
            {
                text:‘js‘,
                value:‘js‘,
            },
            {
                text:‘css‘,
                value:‘css‘
            }
        ]
    }
});

  

表单与v-model

标签:npm   head   option   checked   main   href   check   输入框   body   

原文地址:https://www.cnblogs.com/hongpeng0209/p/9583087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!