Vue.js中data,props和computed数据

在用Vue.js做开发的时候,一定知道 data, props和computed。用了这么久的Vue就总结一下这个三个东西,首先看看官网怎么定义他们,https://cn.vuejs.org/v2/api/#data 。

data 是Vue实例的数据对象。Vue将会将data 的属性转换为 getter/setter, 也就是用Object.defineProperty方法(在官网里面有深入响应式原理里面具体的介绍)。对象必须是纯粹的对象(含有零个或多个的key/value对)。因为这里面的数据都是被监控的,所以说这里面的数据最好都是在视图层显示的数据。如果说不是在视图层展示的变量。可以定义在外面或者放在vm对象上。

例如:

	let baz = ''
	export default {
		data() {
			return {
				bar: 'bar'
			}
		},
		methods: {
			testFn() {
				// baz
			}
		}
	}
bar 变量是在页面中要显示的字段,baz就是在函数里面会用到的数据。如果视图里面不用显示的话就没必要写在data里面。这样

可以减少开销,提高性能。

props 是props 可以是数组或对象,用于接收来自父组件的数据。props 可以是简单的数组,或者使用对象作为替代,

对象允许配置高级选项,如类型检测、自定义校验和设置默认值。

computed,计算属性将被混入到 Vue 实例中。所有 getter 和 setter 的 this 上下文自动地绑定为 Vue 实例。不过计算属性也用

函数来替代。

		computed: {
		// 仅读取,值只须为函数
			aDouble: function () {
				return this.a * 2
			},
		// 读取和设置
			aPlus: {
				get: function () {
					return this.a + 1
				},
				set: function (v) {
					this.a = v - 1
				}
			}
		}




  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值