1.computed计算属性
简单用法:
<body>
<script src="vue.js"></script>
<div id="app">
<h2>{{firstName+' '+lastName}}</h2>
<h2>{{firstName}} {{lastName}}</h2>
<h2>{{getFullName()}}</h2>
<h2>{{fullName}}</h2>
</div>
<script>
const app = new Vue({
el:'#app',
data:{
firstName:'Lebron',
lastName:'James'
},
//computed计算属性
computed:{
fullName:function(){
return this.firstName+' '+this.lastName
}
},
methods:{
getFullName(){
return this.firstName+' '+this.lastName
}
}
})
</script>
</body>
进阶用法:
<script src="vue.js"></script>
<div id="app">
<h2>总价格:{{totalPrice}}</h2>
</div>
<script>
const app = new Vue({
el:'#app',
data:{
books:[
{id:110,name:'unix编程艺术',price:119},
{id:111,name:'代码大全',price:105},
{id:112,name:'深入理解计算机原理',price:98},
{id:113,name:'现代操作系统',price:87},
]
},
//computed计算属性
computed:{
totalPrice: function() {
let result = 0
/*for(let i=0;i < this.books.length;i++)
{
result += this.books[i].price
}
return result*/
//这两个相等
for(let i in this.books){
result += this.books[i].price
}
return result
}
}
})
</script>
computed计算属性和方法对比性能更高
因为它有缓存