<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>常用特性</title>
</head>
<body>
<div id="app">
<!-- 常见的处理方式:比如将文字反转拼接 -->
<div>{{msg}}</div>
<div>{{msg.split('').reverse().join('')}}</div>
<!-- 以上方式可以使用计算属性实现 -->
<div>{{reverseString}}</div>
<!-- 以下适用于测试计算属性和方法的区别 -->
<div>{{reverseString}}</div>
<div>{{reverseString}}</div>
<!-- 方法的测试 -->
<div>{{testDo()}}</div>
<div>{{testDo()}}</div>
</div>
<script src="js/vue.js" type="text/javascript"></script>
<script type="text/javascript">
var vm=new Vue({
el:'#app',
data:{
msg:'hello'
},
methods:{
testDo:function(){
console.log('method');
}
},
computed:{
reverseString:function(){
//此处注意,它只会打印一遍,因为已经被缓存,它是基于依赖(根据data里边变量的变化而变化)做缓存,可以节省性能,比如做for循环这种。
// console.log('computed');
console.log(this.msg);
return this.msg.split('').reverse().join('');
}
}
})
</script>
</body>
</html>