本篇文章给大家带来了关于vue的相关知识,其中主要给大家介绍了我们为什么使用v-model?用vue怎么实现v-model的,感兴趣的朋友一起来看一下吧,希望对大家有帮助。
- 为什么使用v-model? v-model作为双向绑定指令也是vue两大核心功能之一,使用非常方便,提高前端开发效率。在view层,model层相互需要数据交互,即可使用v-model。
- v-model的原理简单描述
v-model主要提供了两个功能,view层输入值影响data的属性值,data属性值发生改变会更新view层的数值变化。
其核心就是,一方面modal层通过defineProperty来劫持每个属性,一旦监听到变化通过相关的页面元素更新。另一方面通过编译模板文件,为控件的v-model绑定input事件,从而页面输入能实时更新相关data属性值。
- v-model是什么 v-model就是vue的双向绑定的指令,能将页面上控件输入的值同步更新到相关绑定的data属性,也会在更新data绑定属性时候,更新页面上输入控件的值。
vue2.0实现方法
- 父组件
<template>
<div id="app">
{{username}} <br/>
<my-input type="text" v-model="username"></my-input>
</div>
</template>
<script>
import myinput from './components/myinput'
export default {
name: 'App',
components:{
myinput
},
data(){
return {
username:''
}
}
}
</script>
- myinput.vue:
<template>
<div class="my-input">
<input type="text" class="my-input__inner" @input="handleInput"/>
</div>
</template>
<script>
export default {
name: "myinput",
props:{
value:{ //获取父组件的数据value
type:String,
default:''
}
},
methods:{
handleInput(e){
this.$emit('input',e.target.value) //触发父组件的input事件
}
}
}
</script>
最常见的还有一种事控制模态框的展示与关闭,我们也可以用v-model 以element 的 el-dialog组件为例子
- App.vue
<template>
<div>
<kmDialog
v-model="showDialog"
>
<el-button @click="show">点我</el-button>
</div>
</template>
<script>
import kmDialog from 'KmDialog.vue'
export default {
components: {
KmDialog
}
data () {
return {
showDialog: false
}
},
methods: {
show() {
this.showDialog = true
}
}
}
</script>
- KmDialog.vue
<template>
<el-dialog
:title="isEdit ? '编辑设备' : '新增设备'"
:visible.sync="value"
width="40%"
@close="cancel"
>
<span>这是一段信息</span>
</el-dialog>
</template>
<script>
export default {
props: {
value: {
default: false,
type: Boolean
}
},
methods: {
cancel() {
this.$emit('input', false)
}
}
}
</script>
以上就是一文详解vue怎么实现v-model(附代码示例)的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何优化 Java 中 HashMap 的性能?(Java中HashMap的性能如何优化 )
- 如何声明和使用 Java 静态成员?(Java静态成员怎么声明与使用)
- Java 后端常用技术有哪些?(java后端常用技术是什么)
- JavaScript 事件委托主要适用于哪些场景呢?(JavaScript事件委托适用哪些情况)
- Java 中私有变量的最佳实践有哪些?(私有变量在java中的最佳实践)
- 如何在 Java 中生成固定长度的随机数?(java怎么生成固定长度随机数)
- 如何使用 Java 的 entrySet 方法来获取 Map 集合中的元素?(Java怎么用entrySet方法获取Map集合中的元素)
- Java 中实现 JDBC 批量提交的方法究竟是什么?(java中jdbc批量提交的方法是什么)
- Java 中 decimal 类型具有哪些特性?(java中decimal类型有哪些特点)
- 如何在 Java 中实现 Docker 容器技术?(java怎么实现docker容器技术)
猜你喜欢
AI推送时光机一文详解vue怎么实现v-model(附代码示例)
前端开发2023-05-14
一文详解vue指令及其过滤器(附代码示例)
前端开发2023-05-14
一文详解PHP用流方式实现下载文件(附代码示例)
前端开发2023-05-14
步骤详解Vue怎么实现语音播报(附代码)
前端开发2022-11-22
一文解析PHP元转分的错误示范(附代码实例)
前端开发2023-05-14
vue+antv实现雷达图的示例代码怎么编写
前端开发2023-06-21
Golang Gin框架实现文件下载功能的示例代码怎么写
前端开发2023-06-22
咦!没有更多了?去看看其它编程学习网 内容吧