前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VUE-Vue实例

VUE-Vue实例

作者头像
cwl_java
发布2020-02-11 13:40:53
6320
发布2020-02-11 13:40:53
举报
文章被收录于专栏:cwl_Javacwl_Java

4.Vue实例

4.1.创建Vue实例

每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的:

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

在构造函数中传入一个对象,并且在对象中声明各种Vue需要的数据和方法,包括:

  • el
  • data
  • methods

等等

接下来我们一 一介绍。

4.2.模板或元素

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

我们可以通过el属性来指定。

例如一段html模板:

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

然后创建Vue实例,关联这个div

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

这样,Vue就可以基于id为app的div元素作为模板进行渲染了。在这个div范围以外的部分是无法使用vue特性的。

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);
            }
        },

控制台的输出:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 4.Vue实例
    • 4.1.创建Vue实例
      • 4.2.模板或元素
        • 4.3.数据
          • 4.4.方法
            • 4.5.生命周期钩子
              • 4.5.1.生命周期
              • 4.5.2.钩子函数
              • 4.5.3.this
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档