学习、使用中结合vue官网的api和教程极佳!

前前篇文章上有提及到vue的简单介绍,详情请戳这里 (初试 Vue.js

 第一部分:

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

var vm = new Vue({
// data、el ...
})

当你创建一个 Vue 实例时,你将传入一个选项对象;

Vue初始化的选项对象包含但不限于el、datamethodscomputed、created、filter等等。

也就是说,通过以上使用的这些选项对象可以达到你想要的行为!

一个 Vue 应用由一个通过 new Vue 创建的根 Vue 实例,以及其他可选用/可复用的选项。

需要明白的是:所有的 Vue 组件都是 Vue 实例,并且接受相同的选项对象即可 (一些根实例特有的选项除外)。

第二部分:

当一个 Vue 实例被创建时,它向 Vue 的响应式系统中加入了其 data 对象中能找到的所有的属性;更通俗一点来说,你只要创建了一个vue实例,你可以通过data对象来找到你需要使用的属性。

例如:

 var $vm=new Vue({
data:{
a:1,
b:2,
}
});

$vm初始化后,如果需要改变某个属性的值,可以赋值操作进行;比如$vm.a=3,可响应更新视图。

官方的话是:当这些属性的值发生改变时,视图将会产生“响应”,即匹配更新为新的值。

在响应更新视图过程中,会重新渲染。

但,新添加一个属性c,$vm.c='new'; 对c的改动不会触发任何视图的更新(只有当实例被创建时 data 中存在的属性是响应式的。)

总的来说,响应式系统是非常直接的,对状态的 管理非常方便!

第三部分:

如果你在开发过程中,有需要一个属性,但是一开始它为空或不存在,那么你仅需要设置一些初始值即可;

例如:

       var $vm=new Vue({
data:{
content:'',
num:0,
list:[],
flag:false,
arr:null,
}
});

在一系列初始化过程中,会同时运行生命周期钩子函数,它是在不同的场景下调用

比如在开发过程中经常用到的钩子是 created(在实例被创建后执行)、updated(调用时组件 DOM 已经更新) 等等...

   var $vm=new Vue({
el:'#main',
data:{
a:1,
b:2,
},
created:function(){
var $this=this; //this指向$vm的实例
console.log($this.a);//print 1
}
});

注意:钩子函数中的this使用!

第四部分:

来自官网的生命周期图:

Vue跨门槛系列之实例的阐述的更多相关文章

  1. Vue使用Ref跨层级获取组件实例

    目录 Vue使用Ref跨层级获取组件实例 示例介绍 文档目录结构 安装vue-ref 根组件自定义方法[使用provide和inject] 分别说明各个页面 结果 Vue使用Ref跨层级获取组件实例 ...

  2. vue 快速入门 系列 —— Vue 实例的初始化过程

    其他章节请看: vue 快速入门 系列 Vue 实例的初始化过程 书接上文,每次调用 new Vue() 都会执行 Vue.prototype._init() 方法.倘若你看过 jQuery 的源码, ...

  3. 【转】手摸手,带你用vue撸后台 系列四(vueAdmin 一个极简的后台基础模板)

    前言 做这个 vueAdmin-template 的主要原因是: vue-element-admin 这个项目的初衷是一个vue的管理后台集成方案,把平时用到的一些组件或者经验分享给大家,同时它也在不 ...

  4. vue 快速入门 系列 —— vue 的基础应用(上)

    其他章节请看: vue 快速入门 系列 vue 的基础应用(上) Tip: vue 的基础应用分上下两篇,上篇是基础,下篇是应用. 在初步认识 vue一文中,我们已经写了一个 vue 的 hello- ...

  5. vue 快速入门 系列 —— vue-cli 下

    其他章节请看: vue 快速入门 系列 Vue CLI 4.x 下 在 vue loader 一文中我们已经学会从零搭建一个简单的,用于单文件组件开发的脚手架:本篇,我们将全面学习 vue-cli 这 ...

  6. vue 快速入门 系列 —— 使用 vue-cli 3 搭建一个项目(下)

    其他章节请看: vue 快速入门 系列 使用 vue-cli 3 搭建一个项目(下) 上篇 我们已经成功引入 element-ui.axios.mock.iconfont.nprogress,本篇继续 ...

  7. vue 快速入门 系列 —— 实例方法(或 property)和静态方法

    其他章节请看: vue 快速入门 系列 实例方法(或 property)和静态方法 在 Vue(自身) 项目结构 一文中,我们研究了 vue 项目自身构建过程,也知晓了 import Vue from ...

  8. 大白话Vue源码系列(02):编译器初探

    阅读目录 编译器代码藏在哪 Vue.prototype.$mount 构建 AST 的一般过程 Vue 构建的 AST 题接上文,上回书说到,Vue 的编译器模块相对独立且简单,那咱们就从这块入手,先 ...

  9. 大白话Vue源码系列(05):运行时鸟瞰图

    阅读目录 Vue 实例的生命周期 实例创建 响应的数据绑定 挂载到 DOM 节点 结论 研究 runtime 一边 Vue 一边源码 初看 Vue 是 Vue 源码是源码 再看 Vue 不是 Vue ...

随机推荐

  1. MyBatis实现Mysql数据库分库分表操作和总结

    前言 作为一个数据库,作为数据库中的一张表,随着用户的增多随着时间的推移,总有一天,数据量会大到一个难以处理的地步.这时仅仅一张表的数据就已经超过了千万,无论是查询还是修改,对于它的操作都会很耗时,这 ...

  2. Axure 入门

    Axure RP是一个专业的快速原型设计工具.Axure(发音:Ack-sure),代表美国Axure公司:RP则是Rapid Prototyping(快速原型)的缩写. Axure RP是美国Axu ...

  3. ==和equals()的区别

    简单的一句话说明就是: == 比较Stack中的值(引用数据类型stack中存放的是对象的堆内存地址). equals() 通常被覆写为比较对象的值 那么==和equals()之间到底有什么具体的区别 ...

  4. nmon 使用

    官网:http://nmon.sourceforge.net/pmwiki.php 步骤 1. 下载nmon到linux上: 2. 解压tar包,根据使用的linux版本选择使用的文件,并对其加上使用 ...

  5. CNAME关联githubPage域名及中文域名,创建个人网站

    对于前端开发来说,部署一个自己的个人网站部署服务器等比较麻烦,如果只是做静态页面的展示GitHubPage完全够用,而且有300M免费的空间,完全满足需求. 首先你要有GitHubPage项目,具体怎 ...

  6. JavaScript练习题 全局变量 局部变量 作用域

    前沿:大家好~我是阿飞~本次 任何简单的事情都可以复杂化,本次让我们来做下搞事情的练习题吧 例题1: var a = 1; function fn1(){ var a = 2; alert(a); / ...

  7. HTML DOM (文档对象模型)

    当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. HTML DOM 树 通过可编程的对象模型,JavaScrip ...

  8. 【渗透课程】第四篇-Web安全之信息探测

    Web之信息探测,从这篇开始就正式进入了Web渗透实战过程了,嗯,前面都是讲基础,下面我们来讲Web中的信息探测. 信息探测,主要的目的 收集目标服务器系统信息(IP,服务器所用系统等) 收集目标网站 ...

  9. MongoDB分布式集群搭建(分片加副本集)

    # 环境准备 服务器 # 环境搭建 文件配置和目录添加 新建目录的操作要在三台机器中进行,为配置服务器新建数据目录和日志目录 mkdir -p $MONGODB_HOME/config/data mk ...

  10. jmeter返回的post data乱码

    通过csv 跑出来的结果 解决方法: 在CSV Data Set Config中将File Encoding设置为GB2312将Allow quoted data 设置为true