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 ...
随机推荐
- atitit.为什么笔记本跟个手机不能组装而pc可以
atitit.为什么笔记本跟个手机不能组装而pc可以 1. 标准程度差 1 2. 为什么标准程度差 1 3. 第一个答案是「能」.第二个答案是「麻烦」. 2 4. 为什么手机不能自定义组装 3 1. ...
- 李洪强iOS经典面试题34-求两个链表表示的数的和
李洪强iOS经典面试题34-求两个链表表示的数的和 问题 给你两个链表,分别表示两个非负的整数.每个链表的节点表示一个整数位. 为了方便计算,整数的低位在链表头,例如:123 在链表中的表示方式是: ...
- zepto与jquery冲突
公司项目中一直用的都是zepto,但是jQuery扩展的插件比较多. jQuery有一个方法noConflict(),可以把jQuery的$改掉.var aa = $.noConflict();就用a ...
- [driver]/lib/modules
两个路径: /lib/modules/4.1.6/updates/net/wireless/cfg80211.ko /lib/modules/4.1.6/modules.dep
- Linux网络编程wait()和waitpid()的讲解
本文讲的是关于wait和waitpid两者的区别与联系.为避免僵尸进程的产生,无论我们什么时候创建子进程时,主进程都需要等待子进程返回,以便对子进程进行清理.为此,我们在服务器程序中添加SIGCHLD ...
- Lucene 工作原理<转>
Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构.该结构及相应的生成算法如下: 0)设有两篇文章1和2 文章1的内容为:Tom lives in Guangzhou,I l ...
- hive中array嵌套map以及行转列的使用
1. 数据源信息 {"student": {"name":"king","age":11,"sex" ...
- Java运行结果测试
- 源码分享!!!world文档转换为JPG图片
http://bbs.csdn.net/topics/390055515 —————————————————————————————————————————————————— 基本思路是:先将worl ...
- jsp中9个内置对象与servlet对应关系及四个作用域
参考: <jsp&servlet学习笔记.第2版.林信良><JSR-245 JavaServer Pages 2.2 Maintenance Release Specifi ...