Vue day1 案例 发表于 2018-10-08 | 更新于: 2018-10-08 | 分类于 Vue | | 热度 ℃ 案例分布 跑马灯效果 简易计算器 一、跑马灯效果重点 @click(v-on:click)点击事件 字符串的截取和赋值 定时器的控制 效果图 案例代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <!-- 1.倒入vue包 --> <script src="./lib/vue-2.4.0.js"></script></head><body> <!-- 2.创建一个要控制的区域 --> <div id="app"> <input type="button" value="浪起来" @click="lang"> <input type="button" value="低调" @click="stop"> <h4>{{msg}}</h4> </div></body> <script> //注意;在vm实例中,如果想要获取data上的数据,或者想要调用methos中的方法,必须通过this.数据名 或 this.方法名来进行访问,这里的this 就等于我们new出来的vm 实例对象 var vm = new Vue({ el: '#app', data:{ msg: '猥琐发育,别浪~~!', intervalId:null //在data上定义 定时器Id }, methods:{ lang() { console.log(this.msg) if(this.intervalId != null) return; this.intervalId = setInterval(() => { //获取到头的第一个字符 var start = this.msg.substring(0,1) // 获取到后面的所有字符 var end = this.msg.substring(1) // 重新拼接到新的字符串,并附值到 this.msg this.msg = end + start },400) //注意:vm实例,会监听自己身上的data 中所有数据的变化 ,只要数据一发生变化,就会自动把 最新的数据,从data上同步到页面中去;【好处:程序员只需要关系数据,不需要考虑重新渲染dom页面】 }, stop() {//停止定时器 clearInterval(this.intervalId) // 每当清楚了定时器之后,需要重新把定时器重制为null this.intervalId = null; } } }) // 分析: // 1.给 【浪起来】 按钮,绑定一个点击事件 v-on @ // 2.在按钮灯事件处理函数中,雌鹅相关灯业务逻辑代码:拿到msg字符串,然后调用字符串灯 substring 来进行字符串灯截取操作,吧 第一个截取出来放到最后面 // 3.为了实习点击按钮,自动截取的功能,需要把2步骤放到定时器里面 </script></html> 二、简易计算器重点 v-model(数据双向绑定) v-click(点击事件) 数据的判断 效果图 案例代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="./lib/vue-2.4.0.js"></script></head><body> <div id="app"> <input type="text" v-model="n1"> <select v-model="opt"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <input type="text" v-model="n2"> <input type="button" value="=" @click="calc"> <input type="text" v-model="result"> </div></body><script> var vm = new Vue({ el:'#app', data: { n1: 0, n2: 0, result: 0, opt: '+' }, methods:{ calc(){//计算器算数的方法 //逻辑: // switch(this.opt){ // case '+': // this.result = parseInt(this.n1)+parseInt(this.n2) // break; // case '-': // this.result = parseInt(this.n1)-parseInt(this.n2) // break; // case '*': // this.result = parseInt(this.n1)*parseInt(this.n2) // break; // case '/': // this.result = parseInt(this.n1)/parseInt(this.n2) // break; // } //注意:这是投机取巧的方式,正式开发中尽量少用 var cideStr = 'parseInt(this.n1)'+this.opt+'parseInt(this.n2)' this.result = eval(cideStr) } } })</script></html> -------------本文结束感谢您的阅读-------------