Vue学习~2:Vue实例

Vue 实例的建立

每一个 Vue 应用都是经过用 Vue 函数建立一个新的 Vue 实例开始的vue

当建立一个 Vue 实例时,你能够传入一个选项对象,指定这个 Vue 实例所管理的元素。
一个 Vue 应用由一个经过 new Vue 建立的根 Vue 实例,以及可选的嵌套的、可复用的组件树组成app

数据与方法

当一个 Vue 实例被建立时,它将 data 对象中的全部的属性加入到 Vue 的响应式系统中。
当这些属性的值发生改变时,视图将会产生“响应”,即匹配更新为新的值。函数

// 咱们的数据对象
var data = { a: 1 }

// 该对象被加入到一个 Vue 实例中
var vm = new Vue({
  data: data
})

// 得到这个实例上的属性
// 返回源数据中对应的字段
vm.a == data.a // => true

// 设置属性也会影响到原始数据
vm.a = 2
data.a // => 2

// ……反之亦然
data.a = 3
vm.a // => 3

当这些数据改变时,视图会进行重渲染。
值得注意的是只有当实例被建立时就已经存在于 data 中的属性才是响应式的。
也就是说若是你添加一个新的属性,那么这个改动将不会触发任何视图的更新。
若是你知道你会在晚些时候须要一个属性,可是一开始它为空或不存在,那么你仅须要设置一些初始值。code

这里惟一的例外是使用 Object.freeze(),这会阻止修改现有的属性,也意味着响应系统没法再追踪变化。对象

var obj = {
  foo: 'bar'
}

Object.freeze(obj)

new Vue({
  el: '#app',
  data: obj
})

实例的生命周期钩子

每一个 Vue 实例在被建立时都要通过一系列的初始化过程——例如,须要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程当中也会运行一些叫作生命周期钩子的函数,这给了用户在不一样阶段添加本身的代码的机会。blog

相关文章
相关标签/搜索