组件模板:

    之前:

      <template>

        <h3>我是组件</h3><strong>我是加粗标签</strong>

      </template>

    现在:  必须有根元素,包裹住所有的代码  

    例如:       

      <script>

          var Home={

            template:'#aaa'

        };

        window.onload=function(){

           new Vue({

               el:'#box',

              data:{

                msg:'welcome vue2.0'

              },

            components:{

                 'aaa':Home

             }

           });

         };

       </script>    

       <body>

        <template id="aaa">

        <div>

        <h3>我是组件</h3>

        <strong>我是加粗标签</strong>

        </div>

         </template>

        <div id="box">

        <my-aaa></my-aaa>

         {{msg}}

          </div>

      </body>

生命周期:  

      之前:

        init

        created

        beforeCompile

        compiled

        ready √ ->     mounted

        beforeDestroy

        Destroyed

      现在:

        beforeCreate 组件实例刚刚被创建,属性都没有

        created 实例已经创建完成,属性已经绑定

        beforeMount 模板编译之前

        mounted 模板编译之后,代替之前ready  *

        beforeUpdate 组件更新之前

        updated 组件更新完毕 *

        beforeDestroy 组件销毁前

        destroyed 组件销

例如:

      new Vue({

      el:'#box',

      data:{

       msg:'welcome vue2.0'

       },

       methods:{

        update(){

        this.msg='大家好';

       },

    destroy(){

       this.$destroy();

      }

    },

   beforeCreate(){

    console.log('组件实例刚刚被创建');

     },

  created(){

    console.log('实例已经创建完成');

     },

   beforeMount(){

    console.log('模板编译之前');

    },

  mounted(){

    console.log('模板编译完成');

     },

   beforeUpdate(){

  console.log('组件更新之前');

  },

  updated(){

  console.log('组件更新完毕');

    },

  beforeDestroy(){

  console.log('组件销毁之前');

    },

  destroyed(){

  console.log('组件销毁之后');

   }

   });

    <div id="box">

    <input type="button" value="更新数据" @click="update">

   <input type="button" value="销毁组件" @click="destroy">

   {{msg}}

  </div>

循环:

    2.0里面默认就可以添加重复数据

      去掉了隐式一些变量

      $index $key

    之前:

      v-for="(index,val) in array"

    现在:

      v-for="(val,index) in array"

      track-by="id"

    变成

      <li v-for="(val,index) in list" :key="index">

    例如:

      <script>

      window.onload=function(){

        new Vue({

           el:'#box',

           data:{

          list:['width','height','border']

          },

           methods:{

           add(){

           this.list.push('background');

          }

           }

       });

    };

   </script>

   <div id="box">

    <input type="button" value="添加" @click="add">

    <ul>

    <li v-for="(val,index) in list">

      {{val}} {{index}}

    </li>

    </ul>

  </div>

自定义键盘指令

      之前:Vue.directive('on').keyCodes.f1=17;

    现在:  Vue.config.keyCodes.ctrl=17

      例如:

      <script>

      //Vue.directive('on').keyCodes.ctrl=17;

      Vue.config.keyCodes.ctrl=17;

       window.onload=function(){

      new Vue({

        el:'#box',

        data:{

          },

        methods:{

       change(){

       alert('改变了');

       }

       }

       });

     };

    </script>

     <div id="box">

    <input type="text" @keyup.ctrl="change">

   </div>

   window.onload=function(){

new Vue({

  el:'#box',

  data:{

  list:['width','height','border']

  },

   methods:{

  add(){

  this.list.push('background');

   }

  }

  });

  };

   <div id="box">

  <input type="button" value="添加" @click="add">

  <ul>

   <li v-for="(val,index) in list" :key="index">

  {{val}} {{index}}

  </li>

  </ul>

 </div>

过滤器

    之前:

      系统就自带很多过滤

        {{msg | currency}}

        {{msg | json}}

        ....

        limitBy

        filterBy

        .....

      一些简单功能,自己通过js实现

    到了2.0, 内置过滤器,全部删除了

    自定义过滤器——还有

      但是,自定义过滤器传参

      之前: {{msg | toDou '12' '5'}}

      现在: {{msg | toDou('12','5')}}

    例如:

  <script>

    Vue.filter('toDou',function(n){

     //alert(input);

    return n<10?'0'+n:''+n;

    });

   window.onload=function(){

    new Vue({

      el:'#box',

      data:{

       msg:9

      }

    });

    };

  </script>

    例如:

<script>

Vue.filter('toDou',function(n,a,b){

alert(a+','+b);

//alert(input);

return n<10?'0'+n:''+n;

});

window.onload=function(){

new Vue({

el:'#box',

data:{

msg:9

}

});

};

</script>

  <div id="box">

{{msg | toDou('12','5')}}

</div>

Vue2.0的变化 ,组件模板,生命周期,循环,自定义键盘指令,过滤器的更多相关文章

  1. Vue2.0源码阅读笔记--生命周期

    一.Vue2.0的生命周期 Vue2.0的整个生命周期有八个:分别是 1.beforeCreate,2.created,3.beforeMount,4.mounted,5.beforeUpdate,6 ...

  2. vue2.0 关于Vue实例的生命周期

    什么是生命周期 Vue实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程,我们称这是Vue的生命周期.通俗说就是Vue实例从创建到销毁的过 ...

  3. 通俗易懂了解Vue组件的生命周期

    1.前言 在使用vue2.0进行日常开发中,我们总有这样的需求,我就想在页面刚一加载出这个表格组件时就发送请求去后台拉取数据,亦或者我想在组件加载前显示个loading图,当组件加载出来就让这个loa ...

  4. React Native 中组件的生命周期

    概述 就像 Android 开发中的 View 一样,React Native(RN) 中的组件也有生命周期(Lifecycle).所谓生命周期,就是一个对象从开始生成到最后消亡所经历的状态,理解生命 ...

  5. Vue2.0的通用组件

    饿了么基于Vue2.0的通用组件开发之路(分享会记录)   Element:一套通用组件库的开发之路 Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库. ...

  6. vue的组件和生命周期

    Vue里组件的通信 通信:传参.控制.数据共享(A操控B做一个事件) 模式:父子组件间.非父子组件 父组件可以将一条数据传递给子组件,这条数据可以是动态的,父组件的数据更改的时候,子组件接收的也会变化 ...

  7. React组件和生命周期简介

        React 简介----React 是 Facebook 出品的一套颠覆式的前端开发类库.为什么说它是颠覆式的呢? 内存维护虚拟 DOM 对于传统的 DOM 维护,我们的步骤可能是:1.初始化 ...

  8. Jetpack 架构组件 Lifecycle 生命周期 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  9. 202-React.Component组件、生命周期

    一.概述 React可以将组件定义为类或函数.定义为类的组件当前提供了更多的功能.要定义React组件类,您需要扩展React.Component: class Welcome extends Rea ...

随机推荐

  1. Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程

    1.选取三台服务器(CentOS系统64位) 114.55.246.88 主节点 114.55.246.77 从节点 114.55.246.93 从节点 之后的操作如果是用普通用户操作的话也必须知道r ...

  2. trimpath javascript的学习

    TrimPath是javascript模板引擎. 这几天有一个项目涉及到trimpath这个框架,所以就花了一点时间研究了一下,这个框架和别的javascript框架不太一样的地方就是模板的概念,就是 ...

  3. Jmeter-元件的作用域和执行顺序

    Jmeter有8类可执行的元件,包括:逻辑控制器.配置元件.定时器.前置处理器.取样器.后置处理器.断言和监听器. 测试计划和线程组不属于元件. 1)取样器(Sampler):不与其他元件发生交互作用 ...

  4. python 之分发包

    setuptools python包的根目录设置setup.py from setuptools import setup, find_packages setup( name = 'm' versi ...

  5. XJOI1564最小距离问题

    最小距离问题 我国蒙古大草原上有N(N是不大于100的自然数)个牧民定居点P1(X1,Y1).P2(X2,Y2). -Pn(Xn,Yn),相应地有关权重为Wi,现在要求你在大草原上找一点P(Xp,Yp ...

  6. 老李分享:《Linux Shell脚本攻略》 要点(二)

    老李分享:<Linux Shell脚本攻略> 要点(二)   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课 ...

  7. JAVA加密算法系列-BASE64

    package ***; import java.io.IOException; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encode ...

  8. 跟着刚哥梳理java知识点——深入理解String类(九)

    一.String类 想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码: public final class String implements java.io.Ser ...

  9. 借助case,实现更丰富的分组查询统计

    根据fileD6的前4位分组    分别统计该组  5种企业类型fileD31的数量 create or replace view jyjc_bycity as select substr(fileD ...

  10. java多线程基本概述(四)——死锁

    package mytask; public class Task { public static void main(String[] args) { DeadThread thread = new ...