ch2-vue实例(new Vue({}) 属性与方法 声明周期)
- Vue 实例
1 每个Vue.js都是通过创建一个Vue的根实例启动的
- var vm = new Vue({})
- 2 扩展Vue构造器,用预定义选项创建可复用的组件构造器
- var MyComponent = Vue.extend({
- //扩展选项
- })
- //所有的 MyComponent 实例都将以预定义的扩展选项被创建
- var myComponentInstance = new MyComponent()
- 3 属性与方法
3.1 每个Vue实例都会代理data对象里所有的属性
- var data = {a:1},
- vm = new Vue({
- data: data
- });
- console.log(vm.a === data.a); //true
- //设置属性也会影响到原始数据
- vm.a = 2;
- console.log(data.a); //2
- data.a = 3;
- console.log(vm.a); //3
- 3.2 只有这些被代理的属性是响应的,如果实例被创建后添加新的属性到实例上
,它不会触发视图更新- 3.3 除了data属性,Vue实例暴露了一些有用的实例属性和方法
这些都有前缀$,以便与代理的data属性区分
- var data1 = {a:1},
- vm = new Vue({
- el: '#test',
- data: data1,
- });
- console.log(vm.$data === data); //true
- console.log(vm.$el === document.getElementsById('test'));//true
- //$watch是一个实例方法
- vm.$watch('a', function (newVal, oldVal) {
- //这个回调将在 vm.a改变后调用
- });
- 4 实例生命周期
4.1 每个 Vue 实例在被创建之前都要经过一系列的初始化过程。
例如,实例需要配置数据观测(data observer)、编译模版、挂载实例到 DOM ,
然后在数据变化时更新 DOM 。在这个过程中,实例也会调用一些 生命周期钩子 ,这就给我们提供了执行自定义逻辑的机会。
例如,created 这个钩子在实例被创建之后被调用:
- var vm = new Vue({
- data: {
- a: 1
- },
- created: function () {
- //this指向 vm实例
- console.log('a is:'+this.a); //a is:1
- }
- });
- 4.2 也有一些其它的钩子,在实例生命周期的不同阶段调用,如 mounted、 updated 、destroyed 。钩子的 this 指向调用它的 Vue 实例。
- 5 生命周期图示
- https://cn.vuejs.org/v2/guide/instance.html
ch2-vue实例(new Vue({}) 属性与方法 声明周期)的更多相关文章
- vue第六单元(vue的实例和组件-vue实例的相关属性和方法-解释vue的原理-创建vue的组件)
第六单元(vue的实例和组件-vue实例的相关属性和方法-解释vue的原理-创建vue的组件) #课程目标 掌握vue实例的相关属性和方法的含义和使用 了解vue的数据响应原理 熟悉创建组件,了解全局 ...
- vue-learning:41 - Vuex - 第二篇:const store = new Vue.Store(option)中option选项、store实例对象的属性和方法
vuex 第二篇:const store = new Vue.Store(option)中option选项.store实例对象的属性和方法 import Vuex from 'vuex' const ...
- 浅谈 vue实例 和 vue组件
vue实例: import Vue from 'vue'; import app from './app'; import myRouter from './routers'; new Vue({ e ...
- python从入门到大神---1、初始化实例、类属性、方法
python从入门到大神---1.初始化实例.类属性.方法 一.总结 一句话总结: 方法不加括号是代码段:感觉python方法和js,php很类似,不加括号是代码段,加括号变成方法,比如f,f() 1 ...
- JS高级---实例对象使用属性和方法层层的搜索 (实例对象-->原型对象-->报错)
实例对象使用属性和方法层层的搜索: 实例对象使用的属性或者方法, 先在实例中查找, 找到了则直接使用: 找不到则, 再去实例对象的__proto__指向的原型对象prototype中找, 找到了则 ...
- 0807 创建vue实例以及vue的基础指令
lession1 1.Vue的了解 渐进式框架 作者:尤雨溪 mvvm 2.创建vue实例 引入<script src="vue.js"><scr ...
- 理解Python中的类对象、实例对象、属性、方法
class Animal(object): # 类对象 age = 0 # 公有类属性 __like = None # 私有类属性 def __init__(self): # 魔法方法 self.na ...
- vue学习笔记之属性和方法
每个Vue都会代理其data对象里所有的属性:只有这些被代理的属性是响应的.如果在实例创建之后添加新的属性到实例上,它不会触发视图更新.例子: <script type="text/j ...
- Django学习路21_views函数中定义字典及html中使用类实例对象的属性及方法
创建 app6 在项目的 settings 中进行注册 INSTALLED_APPS 里面添加 'app6.apps.App6Config' 在 app6 的models.py 中创建数据表 clas ...
随机推荐
- JQuery的动态加载class无法实现点击时间的解决方案
//对于 加载过来class 的del_a 实现点击事情 $(document).on('click',".del_a",function(){ $(".mark_id& ...
- CountDownLatch和CyclicBarrier 特点比较
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp79 并发编程中的CountDownLatch和CyclicBarri ...
- 数据库学习任务二:数据库连接对象SqlConnection
数据库应用程序的开发流程一般主要分为以下几个步骤: 创建数据库 使用Connection对象连接数据库 使用Command对象对数据源执行SQL命令并返回数据 使用DataReader和DataSet ...
- linux c编程:初识进程与线程
p { margin-bottom: 0.25cm; line-height: 120% } (一) 认识进程 在Linux系统中,每一个进程都有自己的ID,就如同人的身份证一样.linux中有一个数 ...
- MySQL中char与varchar区别,varchar最大长度是多少?
一.首先来说下字符与字节的区别: 字符与字节它们完全不是一个位面的概念,所以两者之间没有"区别"这一说法.在不同编码里,字符和字节的对应关系是不同的.一般来说,半角英文状态下一个字 ...
- 个人作业2————英语学习APP的案例分析
必应词典案例分析 第一部分 调研, 评测 1.下载并使用 第一次使用必应词典,安装完打开便是这样的界面,第一印象还行,界面平平无奇,比较简洁,上面分四个模块,这样一眼看去感觉功能比较单一 使用了下例句 ...
- 201521123013 《Java程序设计》第6周学习总结
1. 本章学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2. 书面作业 Q1.clone方法 1.1 Object ...
- 201521123092《java程序设计》第六周学习总结
1.本周学习总结 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2.书面作业 1.clone方法 1.1 Object对象中的clo ...
- 201521123055 《Java程序设计》第4周学习总结
1. 本章学习总结 2. 书面 Q1.注释的应用使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看.(截图) Q2.面向对象设计 2.1 将在网上商城购物或者在班级博客进行 ...
- 201521123018 《Java程序设计》第10周学习总结
1. 本章学习总结 你对于本章知识的学习总结 2. 书面作业 一.inally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? 答: 4-2中 ...