标签:计算 eval cti script 下载 v-model 访问 阻止冒泡 event
<!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml"> <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包 下载地址:https://files.cnblogs.com/files/cgy-home/vue.min.js--> <script src="../lib/vue.min.js"></script> </head> <body> <!--2. 创建一个要控制的区域--> <div id="app"> </div> <script> var vm = new Vue({ el: ‘#app‘, data: { }, methods: { } }) </script> </body> </html> <!--1. 如何定义一个基本的Vue代码结构--> <!--2. 插值表达式 和 v-text --> <!--3. v-cloak --> <!--4. v-html --> <!--5. v-bind Vue提供的属性绑定机制 缩写 :--> <!--6. v-on Vue提供的事件绑定事件 缩写 @--> <!--7. v-cloak 解决插值表达式闪烁的问题--> <!--8. v-text 覆盖标签内部内容--> <!--9. v-html 解析html标签--> <!--10. 使用 .stop 阻止冒泡--> <!--11. 使用 .prevent 阻止默认行为--> <!--12. 使用 .capture 实现捕获触发事件的机制--> <!--13. 使用 .self 实现只有点击当前元素时候,才会触发事件处理函数--> <!--14. 使用 .once 只触发一次事件处理函数--> <!--15. .self 只会阻止自己身上冒泡行为的触发,并不会真正阻止 冒泡的行为, .stop则是阻止所有冒泡行为--> <!--16. v-model 实现数据双向绑定--> <!--17. :class="classObj"--> <!--18. :style="[styleObj,styleObj2]"--> <!--19. v-for="(item,i) in list" 循环普通数组--> <!--20. v-for="(user,i) in list" 循环对象数组--> <!--21. v-for="(val, key,i) in user" 循环对象--> <!--22. v-for="count in 10" 迭代数字--> <!--23. v-for="item in list" :key="item.id" 对象的使用--> <!--24. v-if="flag" 和 v-show="flag" 的使用--> 总结 <!--1. MVC 和 MVVM 的区别 --> <!--2. Vue中最基本代码的结构--> <!--3. 插值表达式 v-cloak v-text v-html v-bind v-on(缩写是@) v-model v-for v-if v-show--> <!--4. 事件修饰符: .stop .prevent .capture .self .once--> <!--5. el 指定要控制的区域 data是个对象,制定了控制区域内要用到的数据 methods 虽然带个s后缀,但是是个对象,这里可以自定义方法--> <!--6. 在VM实例中,如果要访问 data 上的数据,或者要访问 methods 中的方法, 必须带 this--> <!--7. 在 v-for 要会使用 key 属性 (只接受 String / number)--> <!--8. v-model 只能应用于表单元素--> <!--9. 在Vue中绑定样式两种方式 v-bind:class v-bind:style-->
例子:跑马灯
<body> <!--2. 创建一个要控制的区域--> <div id="app"> <input type="button" value="浪起来" @click="lang()"> <input type="button" value="低调" @click="stop()"> <h4>{{msg}}</h4> </div> <script> // 注意:在VM实例中,如果想要获取 data 上的数据,或者想要调用methods中的方法,必须通过 // this.数据属性名 或this.方法名 来进行访问,这里的tihs,就表示我们new出来的 vm 实例对象 // 注意: vm实例,会监听自己身上 data 中所有数据的改变,只要数据一发生变化,就会自动把最新的数据,从data上同步收到 var vm = new Vue({ el: ‘#app‘, data: { msg: ‘猥琐发育,别浪---!‘, intervalId: null }, methods:{ lang:function () { if (this.intervalId != null) { return; } this.intervalId = setInterval(()=>{ var start = this.msg.substring(0,1); var end = this.msg.substring(1); this.msg = end + start; }, 400) }, stop:function () { clearInterval(this.intervalId); this.intervalId = null; } } }) </script> </body>
例子:简易计算器
<body> <!--2. 创建一个要控制的区域--> <div id="app"> <input type="text" v-model="n1"> <select vaule="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="cal"> <input type="text" v-model="result"> </div> <script> var vm = new Vue({ el: ‘#app‘, data: { n1:0, n2:0, result:0, opt: "+" }, methods: { cal(){ /*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 str = "parseInt(this.n1) " + this.opt + " parseInt(this.n2)" this.result = eval(str); } } }) </script> </body>
标签:计算 eval cti script 下载 v-model 访问 阻止冒泡 event
原文地址:https://www.cnblogs.com/cgy-home/p/11320985.html