vue v-model的原理
2024-10-22 02:49:15
关于v-model
v-model 可以实现表单与data里的双向绑定
很多插件上可以在组件上使用v-model,他是如何实现的呢,其实v-model就是一个语法糖
<input v-model="something">
//上面的就等同於下面的,也就是说,你只需要在组件中声明一个name为value的props,并且通过触发input事件传入一个值,就能修改这个value。
<input :value="something" @input="something = $event.target.value">
父组件中
<template>
<div class="home">
<HelloWorld msg="Welcome to Your Vue.js App" v-model="age"/>
</div>
</template> <script>
// @ is an alias to /src
import HelloWorld from '@/components/HelloWorld.vue' export default {
name: 'Home',
components: {
HelloWorld
},
data(){
return {
age:123123123123
}
}
}
</script>子組件中只需要 声明一个name为value的props,并且通过触发input事件传入一个值,就能修改这个value。
<template>
<div>
<div>{{value}}</div>
<button @click="handleInput">修改value</button>
</div> </template> <script>
export default {
props:['value'],
data(){
return {
msg:333
}
},
methods:{
handleInput(){
this.$emit('input','我是新的值')
}
}
}
</script>
如果绑定多个值的话,建议我们用object对象类型,Array数组类型,也就是说我们接收的value类型需要改变下。
最新文章
- Lua的协程和协程库详解
- 一步一步学习Bootstrap系列--表单布局
- WebApi接口传参不再困惑(4):传参详解(转载)
- Strange Problem O(∩_∩)O~
- MyISAM和InnoDB的索引在实现上的不同
- Modelsim的demo入门教程
- BSD历史
- Android开发 MMS支持 创建和编辑MMS
- hdu 4679 Terrorist’s destroy 树形DP
- Object.observe() 观察对象
- Android开发——BroadcastReceiver广播的使用
- Leetcode_100_Same Tree
- 20165306 Exp2 后门原理与实践
- A1004. Counting Leaves
- (链表) leetcode 328. Odd Even Linked List
- C#设计模式(6)——原型模式
- 自学Zabbix12.2 Zabbix命令-zabbix_get
- Intellij 2016非服务器激活
- [转]docker 基本原理及快速入门
- C# winform 记住密码实现代码