<!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">
<h2>msg: {{msg}}</h2>
<h2>msg2 :{{msg2}}</h2>
<h2>msg : {{msg.split(' ').reverse().join(' ')}}</h2>
<h2>reverseMsg : {{reverseMsg}}</h2>
<button @click="change">修改计算属性</button>
<h2>num1: {{num1}}</h2>
<h2>num2 -计算属性 :{{num2}}</h2>
<h2>getNum 函数: {{getNum2()}}</h2>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
msg: 'welcome to itapp',
num1: 8
},
computed: {
msg2: function () {
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.getNum2());
}, 1000);
}
});
</script>
</body>
</html>