您的位置:首页 > 产品设计 > UI/UE

曹可爱之最可爱-Vue.js入门 (二)Vue实例

2017-10-27 12:03 561 查看

一.数据与方法

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

var vm = new Vue({
//选项
})


当一个Vue实例被创建时,它向Vue的响应式系统中加入其data对象中能找到的所有的属性。当这些属性的值发生改变时,视图将会产生”响应”,即匹配更新为新的值。

// 我们的数据对象
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中存在的属性是响应式的,

除了data属性,Vue实例暴露了一些有用的实例属性和方法。他们都有前缀 $ ,以便与用户定义的属性区分开来。例如:

var data = {a:1}
var vm = new Vue({
el: '#example',
data:data
})

vm.$data === data // => true
vm.$el === document.getElementById('example') // => true

//$watch是一个实例方法
vm.$watch('a', function(newValue, oldValue) {
//这个回调将在'vm.a'改变后调用
})


二 .实例生命周期

每个Vue实例在被创建之前都要经过一系列初始化过程。例如需要设置数据监听,编译模版,挂载实例到DOM,在数据变化时更新DOM等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,给予用户机会在一些特定的场景下添加他们自己的代码。

例如:created钩子可以用来在一个实例被创建之后执行代码:

new Vue({
data: {
a:1
},
created:function(){
// 'this'指向 vm 实例
console.log('a is: ' + this.a)
}
})
// => "a is: 1"


钩子的this指向调用它的Vue实例



好啦这块就到这儿了。数据和方法没什么说的,这种语法主要还是实现了响应式。生命周期钩子呢,我的理解就是在将这些函数挂载到代码编译执行的不同阶段所运行的函数。至于对不对呢,等日后见得多了坐等打脸。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: