v-model: 双向数据绑定语法糖:1.input标签的值根据data里的name确定,所以用:value='name', 2.input标签的值变化,会修改name值,用input事件
<template>
<div class="son-container">
name:
<!-- <input
type="text"
:value="name"
@input="name = $event.target.value"
placeholder="请输入名字"
/> -->
<input
type="text"
v-model="name"
placeholder="请输入名字"
/>
<button @click="changename">changename</button>
</div>
</template>
<script>
export default {
data() {
return {
name: '',
};
},
methods: {
changename() {
this.name = '张三';
},
},
watch: {
name(val) {
console.log(val);
},
},
};
</script>
单选框 /复选框: :在<input>上写v-model, v-model的值等于value,就会选中;
<p> sex: <input type="radio" v-model="sex" value="man" /> <input type="radio" v-model="sex" value="femal" /> </p> <p> 爱好: <input type="checkbox" v-model="loves" value="football" />football <input type="checkbox" v-model="loves" value="basketball" />basketball <input type="checkbox" v-model="loves" value="pingpang" />pingpang </p>
loves是数组
选择框: 单选复选都写在select上;
<p> 家乡: <select name="province" v-model="provice"> <option disabled value="">请选择家乡</option> <option value="北京">北京</option> <option value="天津">天津</option> <option value="河北">河北</option> </select> </p> <p> 家乡: <select name="provinces" v-model="loveProvices" multiple> <option disabled value="">请选择喜欢的城市</option> <option value="北京">北京</option> <option value="天津">天津</option> <option value="河北">河北</option> </select> </p>
provinces是数组;
$listeners: 父组件传给子组件的事件函数;
//父组件中 <template> <div class="father-container"> <Son @submit='sendMessage' /> </div> </template>
子组件中的$listeners就是submit,可以在子组件中调用父组件的这个函数。
这个函数也可以用props传值传过来,
也可以用$emit来触发。
v-model修饰符:
- .numver
- .lazy
- .trim