Vue实例

之前学过Vue的官方文档,因为项目中没有用过,很快就忘记得差不多了,所以这次决定重新学习一下,并且记录下自己的学习过程以及自己的想法

构造器

每一个Vue.js应用都是通过构造函数Vue创建的一个Vue的根实例启动的。

  var data = {a: 1};
  var vm = new Vue({
      el: '#app', //挂载对象
      data: data //代理的数据
  })

属性与方法

每一个Vue实例都会代理其data对象里面的所以属性,注意这时代理的data的属性是响应的。如果实例创建以后,添加新的属性到实例上,它不会触发视图更新(后面会详细讨论)。

    var data = {a: 1};
    var vm = new Vue({
        el: '#app',
        data: data
    });
    vm.a === data.a;//true
    //修改vm的a的值会影响到原始值
    vm.a = 2;
    console.log(data.a); //=> 2
    //反之亦然
    data.a = 3;
    console.log(vm.a);// => 3

除了data属性,Vue还暴露了一些有用的实例属性与方法。这些方法与属性都是以$开头,以便于代理的data属性区分

    console.log(vm.$data === data); //true
    console.log(vm.$el === document.getElementById('app')); //true

    vm.$watch('a', function(newVal, oldVal){
        console.log('a改变了,新值是'+ newVal +',旧值是'+ oldVal);
    });
    vm.a = 'a'; //a的值变了,就会触发上面的回调函数
    //a改变了,新值是a,旧值是3

实例的生命周期

每一个Vue实例在被创建的之前都要经过一些列的初始化的过程;
例如实例需要配备数据观测,模板编译,挂载实例到DOM,然后数据变化到Dom,在这过程中,会调用一系列的生命周期的钩子函数,这就提供了给我们执行自定义逻辑的机会.

生命周期图示

盗用官方文档的图:


Paste_Image.png

API地址

Vue 中文API

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近一直在忙,近期一个月更加会马不停蹄,根本无时间经营自己的小博客,有很多简友留言和评论要资料,我也没时间发,等我...
    范小饭_阅读 4,070评论 4 20
  • Vue 框架的入口就是 Vue 实例,其实就是框架中的 view model ,它包含页面中的业务 处理逻辑、数据...
    云中一樵夫阅读 1,099评论 0 1
  • 这个星期,和亲戚去了一次湖南怀化… 对怀化的美食,人文…深深的感触,都会成为我最好的回忆, 第一次编辑简书,就写这么多。
    爱吃火龙果的女纸阅读 236评论 0 0
  • 1. 欢乐颂里面,我最喜欢的就是曲筱绡,特喜欢她小妖精般的模样,当她喜欢上一个人就一定要死缠乱打上手。而现实生活里...
    文长长阅读 10,227评论 135 309