v-model简单介绍
主要作用便是监听数据的变化后,将模板和实例中的相应数据绑定在一起,实际上相当于 v- bind和@input的结合操作
< ! -- name 和name1中能达到的效果基本一致 -- >
< template>
< div>
< label for = "name" > 姓名< input type= "text" name= "name" v- model= "name" / > < / label>
< label for = "name1" > 姓名1 < input type= "text" name= "name1" v- bind: value= "name" @input= "nameInput($event)" / > < / label>
< div> { { name} } < / div>
< / div>
< / template>
< script>
export default {
name: 'VueBase' ,
data ( ) {
return {
name: '张三'
}
} ,
computed: {
} ,
filters: {
} ,
methods: {
nameInput ( e) {
this . name = e. target. value
console. log ( e. target. value)
}
} ,
async created ( ) {
} ,
mounted ( ) {
}
}
< / script>
< style scoped>
< / style>
v-model 修饰符 v-model.lazy 回车或者失去焦点时,双向绑定生效
< ! -- -- >
< template>
< div>
< label for = "name" > 姓名< input type= "text" id= "name" v- model. lazy= "name" / > < / label>
< div> { { name} } < / div>
< / div>
< / template>
< script>
export default {
name: 'VueOne' ,
data ( ) {
return {
name: ''
}
} ,
methods: {
} ,
created ( ) {
} ,
mounted ( ) {
}
}
< / script>
< style scoped>
< / style>
v-model 修饰符 v-model.number 输入的内容自动转化为数字格式
因为作为数字数据的时候,本人在传值过程中都会处理为数字格式,因此除非是整体表单提交过程,否则对个人意义不大
< ! -- -- >
< template>
< div>
< label for = "age" > 年龄< input type= "text" id= "age" name= "age" v- model. number= "age" / > < / label>
< div> { { typeof age} } < / div>
< / div>
< / template>
< script>
export default {
name: 'VueOne' ,
data ( ) {
return {
age: ''
}
} ,
methods: {
} ,
created ( ) {
} ,
mounted ( ) {
}
}
< / script>
< style scoped>
< / style>
v-model 修饰符 v-model.trim 去除空格前后的字符串
注意: 必须是回车或者离开焦点之后才会触发,否则效果不进行触发。
实际web开发情况下也没什么大用处
< ! -- -- >
< template>
< div>
< label for = "name" > 姓名< input type= "text" name= "name" id= "name" v- model. trim= "name" @input= "changeInput($event)" / > < / label>
< div> { { name} } < / div>
< / div>
< / template>
< script>
export default {
name: 'VueOne' ,
data ( ) {
return {
name: ''
}
} ,
methods: {
changeInput ( e) {
console. log ( e. target. value)
}
} ,
created ( ) {
} ,
mounted ( ) {
}
}
< / script>
< style scoped>
< / style>
v-model搭配radio
< ! -- -- >
< template>
< div>
< label for = "sex1" > < input type= "radio" id= "sex1" name= "sex" value= "男" v- model= "sex" / > 男< / label>
< label for = "sex2" > < input type= "radio" id= "sex2" name= "sex" value= "女" v- model= "sex" / > 女< / label>
< hr / >
< div> { { sex} } < / div>
< hr / >
< / div>
< / template>
< script>
export default {
name: 'VueBase' ,
data ( ) {
return {
name: '张三' ,
sex: '男'
}
} ,
computed: {
} ,
filters: {
} ,
methods: {
nameInput ( e) {
this . name = e. target. value
console. log ( e. target. value)
}
} ,
async created ( ) {
} ,
mounted ( ) {
}
}
< / script>
< style scoped>
< / style>
v-model 搭配checkbox
< ! -- checkbox多选框的使用 -- >
< template>
< div>
< div>
< label v- for = "(v) in list" : key= "v.id" : for = "'ball_' + v.id" > < input type= "checkbox" : id= "'ball_' + v.id" : value= "v.name" name= "ball" v- model= "checkBoxArr" / > { { v. name} } < / label>
< / div>
< hr / >
< div> { { checkBoxArr. toString ( ) } } < / div>
< / div>
< / template>
< script>
export default {
name: 'VueBase' ,
data ( ) {
return {
list: [
{ id: 1 , name: '篮球' } ,
{ id: 2 , name: '足球' } ,
{ id: 3 , name: '排球' } ,
{ id: 4 , name: '网球' }
] ,
checkBoxValue: '' ,
checkBoxArr: [ ]
}
} ,
computed: {
} ,
filters: {
} ,
methods: {
nameInput ( e) {
this . name = e. target. value
console. log ( e. target. value)
}
} ,
async created ( ) {
} ,
mounted ( ) {
}
}
< / script>
< style scoped>
< / style>
v-model搭配select使用
< ! -- -- >
< template>
< div>
< hr / >
< select name= "year" v- model= "year" >
< option v- for = "(v) in yearList" : key= "v.id" : value= "v.year" > { { v. year} } < / option>
< / select>
< hr / >
< div> { { year} } < / div>
< / div>
< / template>
< script>
export default {
name: 'VueBase' ,
data ( ) {
return {
yearList: [
{ id: 1 , year: 2018 } ,
{ id: 2 , year: 2019 } ,
{ id: 3 , year: 2020 } ,
{ id: 4 , year: 2021 }
] ,
year: ''
}
} ,
computed: {
} ,
filters: {
} ,
methods: {
nameInput ( e) {
this . name = e. target. value
console. log ( e. target. value)
}
} ,
async created ( ) {
} ,
mounted ( ) {
}
}
< / script>
< style scoped>
< / style>