计算属性computed的使用

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<title>计算属性</title>
	<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>

<body>
	<div id="app">
		<!-- 
			1.基本用法
		 -->
		<h2>msg: {{msg}}</h2>
		<h2>msg2 :{{msg2}}</h2>

		<!-- 对数据处理再显示 -->
		<h2>msg : {{msg.split(' ').reverse().join(' ')}}</h2>
		<h2>reverseMsg : {{reverseMsg}}</h2>
		<button @click="change">修改计算属性</button>

		<!-- 
			2.计算属性 vs 方法
		 -->
		<h2>num1: {{num1}}</h2>
		<h2>num2 -计算属性 :{{num2}}</h2>
		<h2>getNum 函数: {{getNum2()}}</h2>

		<!-- 
			3.get和set
		 -->
		<!-- <h2>{{num2}}</h2>
		 <button @click="change2">修改计算属性</button> -->


	</div>


	<script>
		var vm = new Vue({
			el: '#app',
			data: { //普通属性
				msg: 'welcome to itapp',
				num1: 8
			},
			computed: { //计算属性
				msg2: function () {
					//该函数必须有返回值,用来获取属性,称为get函数
					return 'hello';

				},
				reverseMsg() {
					return this.msg.split(' ').reverse().join(' ');
				},
				num2: {
					get() {
						console.log('num2:' + new Date());
						return this.num1 - 1;
					},
					set(val) {
						console.log('修改num2的值');
						this.num1 = val;
					}
				}
			},
			methods: {
				change() {
					this.num2 = 50;
				},
				getNum2() {
					console.log(new Date());
					return this.num1 - 1;
				},
			},
			mounted() {
				// // 多次调取计算属性,可以从缓存获取, 提高性能
				setInterval(function () {
					// console.log(vm.num2); //从缓存获取
					console.log(vm.getNum2()); //每次都要执行函数
				}, 1000);
			}
		});
	</script>
</body>

</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值