VUE-Vue实例

4.Vue实例

4.1.建立Vue实例

每一个 Vue 应用都是经过用 Vue 函数建立一个新的 Vue 实例开始的:javascript

var vm = new Vue({ 
 
   
  // 选项
})

在构造函数中传入一个对象,而且在对象中声明各类Vue须要的数据和方法,包括:html

  • el
  • data
  • methods

等等vue

接下来咱们一 一介绍。java

4.2.模板或元素

每一个Vue实例都须要关联一段Html模板,Vue会基于此模板进行视图渲染。jquery

咱们能够经过el属性来指定。web

例如一段html模板:app

<div id="app">
    
</div>

而后建立Vue实例,关联这个divdom

var vm = new Vue({ 
 
   
	el:"#app"
})

这样,Vue就能够基于id为app的div元素做为模板进行渲染了。在这个div范围之外的部分是没法使用vue特性的。svg

4.3.数据

当Vue实例被建立时,它会尝试获取在data中定义的全部属性,用于视图的渲染,而且监视data中的属性变化,当data发生改变,全部相关的视图都将从新渲染,这就是“响应式“系统。函数

html:

<div id="app">
    <input type="text" v-model="name"/>
</div>

js:

var vm = new Vue({ 
 
   
    el:"#app",
    data:{ 
 
   
        name:"刘德华"
    }
})
  • name的变化会影响到input的值
  • input中输入的值,也会致使vm中的name发生改变

4.4.方法

Vue实例中除了能够定义data属性,也能够定义方法,而且在Vue实例的做用范围内使用。

html:

<div id="app">
    {
  
  
  
   
   
            
   

  {num}}
    <button v-on:click="add"></button>
</div>

js:

var vm = new Vue({ 
 
   
    el:"#app",
    data:{ 
 
   
        num: 0
    },
    methods:{ 
 
   
        add:function(){ 
 
   
            // this表明的当前vue实例
            this.num++;
        }
    }
})

4.5.生命周期钩子

4.5.1.生命周期

每一个 Vue 实例在被建立时都要通过一系列的初始化过程 :建立实例,装载模板,渲染模板等等。Vue为生命周期中的每一个状态都设置了钩子函数(监听函数)。每当Vue实例处于不一样的生命周期时,对应的函数就会被触发调用。

生命周期:

在这里插入图片描述

4.5.2.钩子函数

beforeCreated:咱们在用Vue时都要进行实例化,所以,该函数就是在Vue实例化是调用,也能够将他理解为初始化函数比较方便一点,在Vue1.0时,这个函数的名字就是init。

created:在建立实例以后进行调用。

beforeMount:页面加载完成,没有渲染。如:此时页面仍是{ {name}}

mounted:咱们能够将他理解为原生js中的window.οnlοad=function({.,.}),或许你们也在用jquery,因此也能够理解为jquery中的$(document).ready(function(){….}),他的功能就是:在dom文档渲染完毕以后将要执行的函数,该函数在Vue1.0版本中名字为compiled。 此时页面中的{ {name}}已被渲染成峰哥

beforeDestroy:该函数将在销毁实例前进行调用 。

destroyed:改函数将在销毁实例时进行调用。

beforeUpdate:组件更新以前。

updated:组件更新以后。

例如:created表明在vue实例建立后;

咱们能够在Vue中定义一个created函数,表明这个时期的钩子函数:

// 建立vue实例
    var app = new Vue({ 
 
   
        el: "#app", // el即element,该vue实例要渲染的页面元素
        data: { 
 
    // 渲染页面须要的数据
            name: "峰哥",
            num: 5
        },
        methods: { 
 
   
            add: function(){ 
 
   
                this.num--;
            }
        },
        created: function () { 
 
   
            this.num = 100;
        }
    });

结果:
在这里插入图片描述

4.5.3.this

咱们能够看下在vue内部的this变量是谁,咱们在created的时候,打印this

methods: { 
 
   
            add: function(){ 
 
   
                this.num--;
                console.log(this);
            }
        },

控制台的输出:

在这里插入图片描述

本文同步分享在 博客“cwl_java”(CSDN)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索