Vue.js_构造器及其实例化概念
Vue构造器
1、Vue.js是一个构造函数,编程中称之为构造器
2、每一个new Vue() 都是一个Vue构造函数的实例,这个过程叫做实例化
3、构造函数需要将其实例化后才会启用 var vm = new Vue({ //...})
4、Vue构造器要求实例化时需要传入一个选项对象
5、选项对象包括数据(data),模板(tamplate),挂载元素(el),方法(methods),生命周期钩子等选项
附:Vue实例传入选项对象API文档(https://cn.vuejs.org/v2/api/)
属性与方法
1、data会代理其对象里的所有属性
2、只有data里的属性是响应式的,即通信是双向的,如demo中所示
3、Vue被实例化后,再创建的属性,将不会触发视图更新,如demo中所示:
如:<p>{{a}},{{b}},{{c}},{{d}}</p>
1)a,b,c都会在视图中显示
2)a在实例化后仍然保持数据响应
3)d尽管在console.log(data)中存在,但视图却找不到,且会报错
4)因此请不要试图在实例化后添加任何属性
实例属性与方法
1、Vue实例暴露了一些有用的实例属性与方法
2、为与代理属性区分,方前添加了前缀$
3、app.$data===data //->true
app.$el===document.getElementById("app") //->true
附:Vue实例属性和方法API参考(https://cn.vuejs.org/v2/api/)
实例生命周期
1、Vue实例化过程中需要经历一系列额初始化过程,和所有构造函数类似
例如:配置数据观测--编译模板--挂载实例到DOM--数据变化时更新DOM
2、实例化过程中会调用一些生命周期钩子,在此期间,Vue提供执行自定义逻辑的机会
例如:created、mounted、 updated 、destroyed
demo:
<div id="app">
<p>{{a}},{{b}},{{c}}</p>
</div> <script>
var data={
a:1,
b:2,
c:3
}
var app=new Vue({
el:"#app",
data:data
}) console.log(app.a===data.a); //true app.a=5;
console.log(data.a); //5 data.a=10;
console.log(app.a); //10 data.d=12;
console.log(data); console.log(app.$data===data);
console.log(app.$el===document.getElementById("app"));
</script>
Vue.js_构造器及其实例化概念的更多相关文章
- Vue.extend构造器和$mount实例构造组件后可以用$destroy()进行卸载,$forceUpdate()进行更新,$nextTick()数据修改
html <div id="app"> </div> <p><button onclick="destroy()"&g ...
- Vue2.0 【第二季】第2节 Vue.extend构造器的延伸
目录 Vue2.0 [第二季]第2节 Vue.extend构造器的延伸 一.什么是Vue.extend 二.自定义无参数标签 三.挂载到普通标签上 Vue2.0 [第二季]第2节 Vue.extend ...
- vue构造函数(根实例化时和组件实例对象选项)参数:选项详解
实例选项(即传给构造函数的options):数据,DOM,生命周期钩子函数,资源,组合,其他 数据 data 属性能够响应数据变化,当这些数据改变时,视图会进行重渲染. 访问方式: 1.通过 vm.$ ...
- 使用反射类、Class类获取指定的构造器并实例化对象
package com.test; public class Car { private String brand; private String color; private int maxSpee ...
- vue实例的几个概念
1.构造器 vue应用都是通过vue构造函数创建实例来启动的,在创建vue实例时需要传入一个options对象,该对象可以包含数据.模板.挂在元素.方法.生命周期钩子等选项: var vm = new ...
- 【Vue的路由,SPA概念】
前言 本章是为了以后实现前端页面的搭建而写的, 重点在于如何实现 单页Web应用 因为相对于以前的传统多页面web,有很大的缺陷. 那么就必须了解一下Vue的路由设置. SPA的概念 总的而言,我们知 ...
- 深入理解Vue组件3大核心概念
摘要: 搞懂Vue组件! 作者:浪里行舟 原文:详解vue组件三大核心概念 Fundebug经授权转载,版权归原作者所有. 前言 本文主要介绍属性.事件和插槽这三个vue基础概念.使用方法及其容易被忽 ...
- 【VUE】8.VUEX核心概念
1. Vuex核心概念主要如下 state : 存储共享数据 mutation: 变更store中的数据,方法,不能异步操作 action: 异步操作,通过触发mutation变更数据 getter: ...
- 在Vue的构造器里我们写一个add方法,然后我们用实例的方法调用它
html <div id="app"> <div>{{message}}</div> </div> js var vm = new ...
随机推荐
- zeroclipboard解决跨域问题
ZeroClipboard.setDefaults({ moviePath: "//d2glos6gx2bw40.cloudfront.net/C8QpR9/images/flash/Zer ...
- max_int和-1
#include <stdio.h> int main(int argc, char *argv[]) { unsigned ; ) printf("umax:%u == -1\ ...
- Atititjs javascript异常处理机制与java异常的转换.js exception process
Atititjs javascript异常处理机制与java异常的转换.js exception process 1. javascript异常处理机制 Throw str Not throw err ...
- Atitit. 解释器模式框架选型 and应用场景attilax总结 oao
Atitit. 解释器模式框架选型 and应用场景attilax总结 oao 1. 解释器模式结构描述 1 2. 如何实现(简单的解释器模式,仅仅通过词法分析即可实现,而无需token流进行处理. 2 ...
- DB2检测表字段改动的方法(不用触发器)
ALTER TABLE TEST ADD COLUMN RTS TIMESTAMP NOT NULL GENERATED ALWAYS FOR EACH ROW ON UPDATE AS ROW CH ...
- Java类的连接与初始化 (及2013阿里初始化笔试题解析)
Java虚拟机通过装载.连接.初始化来使得一个Java类型可以被Java程序所使用,如下图所示,其中连接过程又分为验证.准备.解析三个部分.其中部分类的解析过程可以推迟到程序真正使用其某个符号引用时再 ...
- hdu1331(记忆化搜索)
#include<iostream> #include<stdio.h> #include<string.h> using namespace std; typed ...
- Unix系统编程()信号处理器简介
信号处理器简介 信号处理器程序(也称为信号捕捉器)是当指定信号传递给进程时将会调用的一个函数.这里会学习信号处理器的基本原理,后面将继续学习. 调用信号处理器程序,可能会随时打断主程序流程:内核代表进 ...
- oozie4.3.0+sqoop1.4.6实现mysql到hive的增量抽取
1.准备数据源 mysql中表bigdata,数据如下: 2. 准备目标表 目标表存放hive中数据库dw_stg表bigdata 保存路径为 hdfs://localhost:9000/user/h ...
- python的post请求抓取数据
python通过get方式,post方式发送http请求和接收http响应-urllib urllib2 python通过get方式,post方式发送http请求和接收http响应-- import ...