Vue.js响应式数据

1. data:

在new 一个vue实例的时候,只有被定义在data中的数据才是响应式的,未被定义仅是动态加入data中的数据是非响应式的,所以要将一个数据变为可响应式,必须先在data中初始化出来。

eg:

// 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


2.Object.freeze()

此方法用来防止属性被修改,即被此方法作用过的数据对象是无法达到响应式效果的。

eg:

var obj = {
  foo: 'bar'
}

Object.freeze(obj)

new Vue({
  el: '#app',
  data: obj
})
代码中的obj是不会响应变化的。

猜你喜欢

转载自blog.csdn.net/c2311156c/article/details/80679282