Vue 2
<body>
<div id="app">
姓名<input type="text" v-model='name'><br>
性别<input type="radio" value="男" v-model='sex'>男<input type="radio" value="女" v-model='sex'>女<br>
电话<input type="text" v-model='tel'><br>
密码<input type="text" v-model='pwd'><br>
确认密码<input type="text" v-model='pass'><br>
专业 <select v-model='job'>
<option value="web工程师" selected>web工程师</option>
<option value="Java工程师">Java工程师</option>
<option value="c++">c++</option>
</select>
<br>
爱好
<input type="checkbox" value="唱" v-model='hobby'>唱
<input type="checkbox" value="跳" v-model='hobby'>跳
<input type="checkbox" value="rap" v-model='hobby'>rap
<input type="checkbox" value="篮球" v-model='hobby'>篮球
<br>
证书
<select v-model='zs' multiple>
<option value="计算机二级证书">计算机二级证书</option>
<option value="英语四级">英语四级</option>
<option value="英语六级">英语六级</option>
<option value="普通话二级">普通话二级</option>
</select>
<br>
备注
<textarea cols="30" rows="10" v-model='text'></textarea><br>
<input type="checkbox" value="同意" v-model='yes'>我同意 {{yes}}
<br>
<input type="submit" value="提交" @click='sub' :disabled=!yes>
</div>
<script src="../vue.js"></script>
<script>
new Vue({
el: '#app',
data: {
name: 'zs',
sex: '女',
tel: '111',
pwd: '123',
pass: '',
job: 'web工程师',
hobby: ['唱', '篮球'],
zs: '',
text: '哈哈哈',
yes: true,
},
methods: {
sub() {
if (this.pass !=this.pwd) {
alert('密码不对')
return
}
console.log('发请求');
}
}
})
</script>
</body>
网页效果

1.:key的取值必须是number类型或者是string类型,不能是对象
2.v-for循环中的唯一值,只要使用循环就必须添加
3.vue中的修饰符
1.事件修饰符
.stop .prevent .self .once .capture(给谁加谁先出来)
2.键盘修饰符
<input type="text" @keydown.up = 'up' placeholder="向上">
<input type="text" @keydown.down = 'down' placeholder="向下">
<input type="text" @keydown.left = 'left' placeholder="向左">
<input type="text" @keydown.right = 'right' placeholder="向右">
<input type="text" @keydown.enter = 'enter' placeholder="回车">
3.鼠标修饰符
<input type="text" @click.left = 'left' placeholder="左键">
<input type="text" @click.middle = 'middle' placeholder="滚轮">
<input type="text" @click.right = 'right' placeholder="右键">
4.表单修饰符
<!-- .lazy 只有光标离开输入框,才会动态更新数据 -->
<input type="text" v-model.lazy='str'>{{str}}
<!-- .number 只要第一个值是数字类型,结果就是数字类型,不管第一个值后面是什么类型. 如果第一个值不是数字,那么就没有效果-->
<input type="text" v-model.number='num' placeholder="请输入数字">
<br>
<!-- .trim 去除收尾空格 需要是用户输入的默认值-->
<input type="text" v-model.trim='content'>
4.生命周期
beforeCreate() 创建之前 什么都是undefined
created() 创建完成, vue实例化初始化完成,但是el还是undefined
beforeMount() 挂载之前 已经找到挂载点,但是数据还未渲染 此时的el是div元素
mounted() /挂载完成 数据加载完成
beforeUpdate() 更新之前 和更新之后的数据都是最新数据
更新完成 updated() {
销毁之前 beforeDestroy() {
销毁完成 destroyed() {
浙公网安备 33010602011771号