网站首页 > 技术文章 正文
vue 一个MVVM的框架
M model
V view
MVVM:model改变会影响视图view,view视图改变反过来影响model
双向数据绑定必须在表单里面使用
双向数据绑定
<template> <div id="app"> <img src="./assets/logo.png"> <h1>{{ msg }}</h1> <h2>Essential Links</h2> <input type="text" v-model='msg'></input> <button v-on:click="getMsg()">获取表单数据</button> </div> </template> <script> /* Vue双向数据绑定,时间介绍,ref获取dom节点 vue 一个MVVM的框架 M model V view MVVM: model改变会影响视图view,view视图改变反过来影响model 双向数据绑定必须在表单里面使用 */ export default { name: 'app', data () { return { msg: 'Welcome to Your Vue.js App' } }, methods:{ getMsg(){ alert('vue方法执行') } } } </script> <style> #app { font-family: 'Avenir', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px; } h1, h2 { font-weight: normal; } ul { list-style-type: none; padding: 0; } li { display: inline-block; margin: 0 10px; } a { color: #42b983; } </style>
运行结果展示
getMsg(){ alert('vue方法执行') } 替换成 getMsg(){ alert(this.msg) }
显示效果
这样可以看出获取model信息,修改信息model也会改变,这就是vue的双向数据绑定
ref获取dom节点
<template> <div id="app"> <img src="./assets/logo.png"> <h1>{{ msg }}</h1> <h2>Essential Links</h2> <input type="text" v-model='msg'></input> <button v-on:click="getMsg()">获取表单数据</button> <br/> <br/> <br/> <button v-on:click="setMsg()">修改表单数据</button> <br/> <br/> <br/> <!-- ref获取dom节点--> <input type="text" ref='userinfo'></input> <div ref='box'>box</div> <button v-on:click="getInputValue()">获取第二个表单数据</button> </div> </template> <script> /* Vue双向数据绑定,时间介绍,ref获取dom节点 vue 一个MVVM的框架 M model V view MVVM: model改变会影响视图view,view视图改变反过来影响model 双向数据绑定必须在表单里面使用 */ export default { name: 'app', data () { return { msg: 'Welcome to Your Vue.js App' } }, methods:{ getMsg(){ alert(this.msg) }, setMsg(){ this.msg = "修改后的数据"; }, getInputValue(){ /* 获取dom节点*/ console.log(this.$refs.userinfo); alert(this.$refs.userinfo.value); this.$refs.box.style.background='red' } } } </script> <style> #app { font-family: 'Avenir', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px; } h1, h2 { font-weight: normal; } ul { list-style-type: none; padding: 0; } li { display: inline-block; margin: 0 10px; } a { color: #42b983; } </style>
运行结果展示
vue执行方法的两种写法
<button v-on:click="run1()">执行方法的第一种写法</button> <br/> <button @click="run1()">执行方法的第二种写法</button>
vue事件对象
<button @click="eventFn($event)" data-aid="123">事件对象</button> <script> export default { name: 'app', data () { return { msg: 'Welcome to Your Vue.js App', list:[] } }, methods:{ run1(){ alert(this.msg) }, getMsg(){ alert(this.msg) }, requestData(){ for(var i = 0; i < 10 ; i ++){ this.list.push('我是第' + i + '条数据'); } }, eventFn(e){ console.log(e); } } } </script>
打印结果
可以利用事件对象获取dom节点
e.srcElement // dom节点 e.srcElement.style.background = 'red'; // 设置背景颜色 console.log(e.srcElement.dataset.aid) //获取自定义属性
猜你喜欢
- 2024-10-12 学习Vue的数据绑定语法,实现动态的用户界面(四)
- 2024-10-12 Vue前端框架:绑定单个复选框。 vue复选框默认选中
- 2024-10-12 vue2响应式原理 vue2.0响应式原理
- 2024-10-12 vue数据绑定语法 vue样式绑定语法
- 2024-10-12 【Vue】第5章 Vue数据绑定和计算属性详解
- 2024-10-12 Vue数据及事件绑定、filter过滤器
- 2024-10-12 Vue开发:组件绑定自定义事件及其应用
- 2024-10-12 vue.js实战之表单绑定-单选按钮 vue表格单选
- 2024-10-12 跟神一起学前端-初识vue、数据绑定
- 2024-10-12 vue.js 动态绑定class的几种方式 vue动态绑定类
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)