计算属性的set、get

<!DOCTYPE html>
<html>
<head>
	<title</title>
	<script src="./vue.js"></script>
</head>
<body>

	<div id="app">{{fullName}}</div>

	<script>
		var vm = new Vue({
			el:'#app',
			data:{
				firstName:'shengtong',
				lastName:'zhu',
			},
			computed:{
				fullName:{
					get(){
						return this.firstName+' '+this.lastName;
					},
					set(value){
						var v=value.split(' ');
						this.firstName=v[0];
						this.lastName=v[1];
					}
				}
			}
		})
	</script>

</body>
</html>

当需要计算时,会调用get方法
当设置fullName的值时,会调用set方法

### Vue.js 中计算属性Getter 和 Setter 使用方法 #### 计算属性的基础概念 计算属性是 Vue.js 框架的一项重要特性,允许在模板中声明式地定义依赖于其他数据的属性。这使得复杂逻辑能够被封装,并直接用于模板之中,进而简化代码结构并提升可读性[^1]。 #### Getter 方法的应用场景与实现方式 对于大多数情况而言,默认配置下的计算属性仅提供 `getter` 函数来获取值而不支持设置新值。这意味着当访问某个计算属性时会触发相应的 `get()` 方法执行,返回预期的结果。下面是一个简单的例子展示了如何创建只含有 `getter` 的计算属性: ```javascript var vm = new Vue({ el: '#example', data: { firstName: 'John', lastName: 'Doe' }, computed: { fullName() { return `${this.firstName} ${this.lastName}`; } } }); ``` 上述代码片段中定义了一个名为 `fullName` 的计算属性,它基于 `firstName` 和 `lastName` 这两个原始数据项构建而成。每当这两个变量发生变化时,`fullName` 就会被重新评估以反映最新的状态变化[^3]。 #### Setter 方法的作用及其编写形式 除了基本的 `getter` 外,在某些特定需求下也可以为计算属性添加自定义的 `setter` 来响应赋值操作。一旦给定名称相同的键名赋予新的值,则会调用对应的 `set()` 方法处理传入参数并对内部状态作出相应调整。以下是带有完整 `getter/setter` 对的计算属性示例: ```javascript computed: { fullName: { get() { return `${this.firstName} ${this.lastName}`; }, set(newValue) { const names = newValue.split(' '); this.firstName = names[0]; this.lastName = names[names.length - 1]; } } } ``` 在这个更高级的例子里面,不仅实现了从现有字段组合成全名的功能,还提供了反向解析的能力——即可以通过修改 `fullName` 属性间接更新原对象上的各个组成部分[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值