美文网首页
vue2.0学习

vue2.0学习

作者: 一包 | 来源:发表于2018-08-05 11:11 被阅读0次

事件深入

v-on

  • v-on:click/mouseup...
  • 简写: @click:"" (推荐)

事件对象

  • @click="show($event)"

事件冒泡

--- 阻止冒泡

  • event.cancelBubble=true
  • @click.stop="show($event)" (推荐)
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <script src="js/vue1.0.js"></script>
        <script>
        window.onload=function(){
            new Vue({
                el: '#box',
                methods: {
                    show: function (ev) {
                        alert(1)
                         ev.cancelBubble=true;

                    },
                    show2: function (){
                        alert(2)
                    }

                }
            })


        }
        </script>
    </head>
    <body>
    <div id="box">
        <div @click="show2()">
        <input type="button" value="按钮" @click="show($event)" />
        </div>
    </div>
    </body>
</html>
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <script src="js/vue1.0.js"></script>
        <script>
        window.onload=function(){
            new Vue({
                el: '#box',
                methods: {
                    show: function (ev) {
                        alert(1)

                    },
                    show2: function (){
                        alert(2)
                    }

                }
            })


        }
        </script>
    </head>
    <body>
    <div id="box">
        <div @click="show2()">
        <input type="button" value="按钮" @click.stop="show($event)" />
        </div>
    </div>
    </body>
</html>

默认行为(默认事件)

  • ev.preventDefault();
  • @contextmenu.prevent;推荐
<script src="vue.js"></script>
    <script>
        window.onload=function(){
            new Vue({
                el:'#box',
                data:{

                },
                methods:{
                    show:function(){
                        alert(1);
                    }
                }
            });
        };
    </script>
</head>
<body>
    <div id="box">
        <input type="button" value="按钮" @contextmenu.prevent="show()">
    </div>

键盘

  • 键盘事件:@keydown,@keyup
  • 常用键:
    • 回车:
      • @keyup.13
      • @keyup.enter
    • 上,下,左,右
      • @keyup/keydown.left
      • @keyup/keydown.right
      • @keyup/keydown.up
      • @keyup/keydown.down

属性

  • 用v-bind关联属性,如v-bind:src="",
    简写为:src=""
  • <img src="{{url}}" alt=""> 效果能出来,但是会报一个404错误
  • <img v-bind:src="url" alt=""> 效果可以出来,不会发404请求
 var Box2 = new Vue({
                el: '#box2',
                data: {
                    url: 'http://e.hiphotos.baidu.com/image/w%3D500/sign=f41ccdfef1f2b211e42e854efa816511/e61190ef76c6a7ef2a3f03abf7faaf51f3de6626.jpg'
                }
            })


        }
<div id="box2">
        <img :src="url" alt="" />
    </div>

class和style

  • class
  1. :class="[a]" a是数据
<style>
        
        .big{
            font-size:100px;
        }
</style>
<script>
        window.onload=function(){
            new Vue({
                el:'#box',
                data:{
                    a:'big'
                },
                methods:{
                }
            });
        };
    </script>
<div id="box">
        <strong :class="[a]">文字...</strong>
</div>
  1. :class="[a,b,c]" 可多个class
  2. :class="{red:a, blue:false}" a是数据且为布尔值
<style>
        .red{
            color: red;
        }
        .blue{
            background: blue;
        }
    </style>
    <script src="vue.js"></script>
    <script>
        window.onload=function(){
            new Vue({
                el:'#box',
                data:{
                },
                methods:{
                }
            });
        };
    </script>
<div id="box">
        <strong :class="{red:true,blue:true}">文字...</strong>
</div>
  1. :class="json"
<style>
        .red{
            color: red;
        }
        .blue{
            background: blue;
        }
    </style>
    <script src="vue.js"></script>
    <script>
        window.onload=function(){
            new Vue({
                el:'#box',
                data:{
                    json:{
                        red:true,
                        blue:true
                    }
                },
                methods:{
                }
            });
        };
    </script>
<div id="box">
        <strong :class="json">文字...</strong>
</div>
  • style(与class类似)
  1. :style="[c]"
  2. :style="[c,d]"
  3. :style="json"
  4. 注意: 复合样式,采用驼峰命名法

模板

  • {{msg}} 数据更新模板变化
  • {{*msg}} 数据只绑定一次
  • {{{msg}}} HTML转意输出

过滤器:-> 过滤模板数据

  • 系统提供一些过滤器:uppercase,lowercase,capitalize
  • {{msg| filterA}}
  • {{msg| filterA | filterB}}
  • {{msg| filterA 参数}} 如:currency 钱
<div id="box">
        {{12|currency '¥'}}
</div>

相关文章

  • Vue2.0-Vue3.0语法差异性总结

    Vue2.0 Vue2.0实例 Vue2.0 组件 使用组件的细节 在 ttable > tbody > tr 使...

  • Vue2.0 学习

    Vue2.0 学习 eslintignore.js 里写规范配置: module.exports= { root:...

  • vue2.0学习

    事件深入 v-on v-on:click/mouseup... 简写: @click:"" (推荐) 事件对象 @...

  • vue2.0学习

    关于mvvm/mvc/mv*框架的理解:前端关于此类框架更加贴近于后端编程模式,使代码功能清晰,也更便于理解;此类...

  • vue(3) - 收藏集 - 掘金

    Vue2.0 Transition 常见用法全解惑 - 前端 - 掘金Vue2.0的过渡系统(transition...

  • Vue2.0的Diff算法

    原文:解析Vue2.0的Diff算法 Vue2.0加入了Virtual Dom,Vue的Diff位于patch.j...

  • Vue感悟

    学习完wepack之后,最近在学习vue2.0,每天几节课,让我收获很多,因为之前已经学习了vue1.0,所以学2...

  • vue2.0学习记录

    持续更新中 看了一段时间的视频,即便是大火的现在,讲vue的视频还是那么不尽如人意,还是按照文档学吧,顺序知乎和简...

  • vue2.0学习笔记

    过渡效果

  • Vue2.0敏捷学习及项目开发

    Vue2.0敏捷学习#### 摘要#### 在以前的项目中,主要使用各类UI框架配合jquery进行敏捷开发。经过...

网友评论

      本文标题:vue2.0学习

      本文链接:https://www.haomeiwen.com/subject/ocqbvftx.html