vue.js v-model数据双向绑定实例

xingyun86 2018-4-17 2174

vue.js的一大功能便是实现数据的双向绑定,本文就表单处理时运用v-model指令实现双向绑定做一个介绍:

v-model这个指令只能用在<input>, <select>,<textarea>这些表单元素上,所谓双向绑定,指的就是我们在js中的vue实例中的data与其渲染的dom元素上的内容保持一致,两者无论谁被改变,另一方也会相应的更新为相同的数据。这是通过设置属性访问器实现的。例如:


app.html

<!doctype html>  
<html>  
<head>  
    <meta charset="UTF-8">  
    <title>  
    vuejs 过滤器、ajax数据、嵌套循环、if判断、事件监听  
    </title>  
    <style type="text/css">  
        [v-cloak] { display: none }  
    </style>  
</head>  
  
<body>  
   <div id="app">  
        <form>  
            姓名:  
            <input type="text" v-model="data.name" placeholder="姓名"/>  
            <br />  
            性别:  
            <input type="radio" id="one" value="One" v-model="data.sex"/>  
            <label for="man">男</label>  
            <input type="radio" id="two" value="Two" v-model="data.sex"/>  
            <label for="male">女</label>  
            <br />  
            <input type="checkbox" id="jack" value="book" v-model="data.interest"/>  
            <label for="jack">阅读</label>  
            <input type="checkbox" id="john" value="swim" v-model="data.interest"/>  
            <label for="john">游泳</label>  
            <input type="checkbox" id="move" value="game" v-model="data.interest"/>  
            <label for="move">游戏</label>  
            <input type="checkbox" id="mike" value="song" v-model="data.interest"/>  
            <label for="mike">唱歌</label>  
            <br />  
            身份:  
            <select v-model="data.identity">  
                <option value="teacher" selected>教师</option>  
                <option value="doctor">医生</option>  
                <option value="lawyer">律师</option>  
            </select>            
        </form>  
        <p><pre>data: {{$data | json 2}}</pre></p>  
   </div>  
</body>  
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js" charset="utf-8"></script>  
<script src="https://cdn.bootcss.com/vue/2.3.0/vue.min.js" charset="utf-8"></script>  
<script type="text/javascript">  
$(function() {  
    new Vue({  
        el: '#app',  
        data: {  
            data:{  
               name:'',  
               sex:'',  
               interest:[],  
               identity:''  
            }  
        }  
    })  
})  
</script>  
</html>


×
打赏作者
最新回复 (0)
只看楼主
全部楼主
返回