vue-01-插值表达式、事件修饰符

<!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>

原文地址:https://www.cnblogs.com/cgy-home/p/11320985.html

时间: 2024-11-06 02:10:18

vue-01-插值表达式、事件修饰符的相关文章

Vue之@click、事件修饰符@click.stop与@click.prevent、按键修饰符@keyup.enter

1.绑定监听@click: (以监听click为例,其他如keyup,用法类似)  v-on:click="fun"  @click="fun"  @click="fun(参数)" <button @click="test1">test1</button> <button @click="test2('abc')">test2</button> <but

第二章 Vue快速入门--12 事件修饰符的介绍

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width,initial-scale=1.0"> 7 <title>Document</title> 8

Vue—事件修饰符

Vue事件修饰符 Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventDefault() 或 event.stopPropagation(). Vue.js通过由点 (.) 表示的指令后缀来调用修饰符. .stop.prevent.capture.self.once <!-- 阻止单击事件冒泡 --> <a v-on:click.stop="doThis"></a> <!-- 提交事件不再重载页面

Vue学习之路第八篇:事件修饰符

学习准备: ①.顾名思义,"事件修饰符"那么肯定是用来修饰事件,既然和事件有关系,那么肯定和"v-on"指令(也可简写为:@)有关系了. ②.事件修饰符有以下几类: .stop:阻止冒泡 .prevent:阻止默认事件 .capture:事件捕获 .self:只当事件在该元素本身触发时触发回调 .once:事件只触发一次 1.阻止冒泡 页面代码: <div id="app" @click="clickDiv()">

vue学习(六) 事件修饰符 stop prevent capture self once

//html <div id="app"> <div @click="divHandler" style="height:150px,background-color:darkcyan"> <input type="button" value="点击" @click="btnHandler"> </div> <a href="

VUE的事件修饰符

<div id="ON" v-on:click="handle0"> <p v-text="num"></p> @*v-on:click.stop="handle" 事件修饰符,在事件后面加.stop表示不再冒泡*@ <input id="Button1" v-on:click.stop="handle" type="button&qu

Vue——事件修饰符

事件修饰符:stop  阻止冒泡 prevent  阻止默认事件 capture  添加事件侦听器时使用事件捕获模式 self  只当时间在该元素本身(比如不是子元素)触发时触发回调 once  事件只触发一次 --------------------------------------------------------- sopt: 如果没有没有设置阻止冒泡事件,子元素就会向父元素产生冒泡事件 添加stop后 prevent: 首先我们一个a标签添加跳转链接跳至百度 没添加prevent前

vue 示范模板 指令 按键修饰符

原文链接地址:https://my.oschina.net/u/4087782/blog/3119601 模板示范 <div id="d1"> </div> <script> new Vue({ el:"#d1", // 作用的区域 data:{ // 参数 }, methods:{ // 函数 }, computed:{ // 计算数据函数 }, create:{ // 页面开始加载时运行 } }) </script>

vue01----虚拟DOM、指令、事件修饰符、按键修饰符、双向数据绑定、v-if和v-show的区别

### 虚拟DOM: 虚拟DOM就是内存中的一个变量,是一个对象结构 前端效率优化:最致命的问题就是DOM操作,尽量减少DOM操作 vue的高效: 1.虚拟DOM页面渲染高效 2.js   ①获取数据②根据数据渲染界面DOM操作 for vue将开发者的精力从DOM操作上转移到了数据操作上,数据变页面变 ### 指令: 内置指令 v-if v-show v-on----事件绑定 语法:  v-on:事件名称="事件函数" v-on:click="事件函数" 简写: