v-model存在的问题
对于复选框或者单选框的常见组件时,由于v-model默认传的是value,不是checked,触发事件也不是oninput而是onchange
我做了个小测试
html页面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试</title>
<link rel="stylesheet" href="http://at.alicdn.com/t/font_685761_h0xgwcedyyq.css">
<script src="js/vue.js"></script>
<script src="js/test.js"></script>
</head>
<body>
<div id="app">
显示<input type="radio" name="1" value="true" v-model='display'>
隐藏<input type="radio" name="1" value="" v-model='display'>
<div v-if='display'>小窝窝哈哈哈哈</div>
<div>{{innerText}}</div>
<div v-html='innerHTML'></div>
</div>
</body>
</html>
js
window.onload = function(){
var dataList = {
innerText:'欢迎来到我的小家',
innerHTML:'欢迎来到<i style=color:red>我的小家</i>',
name:'Coco',
display:true
}
new Vue({
el:'#app',
data:dataList
})
}
分析:
display的初始化值是true,这里的true可以是任意非空字符串
打开该页面首先是该div块展示
,点击切换隐藏、显示div则会隐藏显示,因为display的值在切换按钮之后发生了变化