<head>
</head>
<style>
table {
width: 240px;
}
th,td {
border: 1px solid #000;
}
h3 {
}
</style>
<body>
概念:基于现有的数据,计算出来的新属性。依赖的数据变化,自动重新计算。
语法:
1.声明在computed配置项中,一个计算属性对应一个函数。
语法:写在computed配置项中,作为属性直接使用,this.计算属性{{计算属性}}
重点:
缓存特性(提升性能):计算属性会对计算出来的结果缓存,再次使用直接读取缓存,依赖项变化了,会重新计算并再次缓存
计算属性的完整写法
计算属性默认的简写,只能读取访问,不能’修改‘,如果要’修改‘,需要写计算属性的完整写法
默认写法:
computed:{
计算属性名(){
一段代码逻辑(计算逻辑)
return 结果
}
}
完整写法:获取+设置
computed:{
计算属性名:{
get(){
一段代码逻辑(计算逻辑)
return 结果
},
set(修改的值){
一段代码逻辑(修改逻辑)
}
}
}
methods方法:
作用:给实例提供一个方法,调用以处理业务逻辑
语法:写在methods配置项中,作为方法,需要调用,this.方法名(){{ 方法名()}} @事件名=’方法名’
–>
<table>
<tr>
<th>名字</th>
<th>数量</th>
</tr>
<tr v-for=”(item,index) in list” :key=’item.id‘>
<td>{{item.name}}</td>
<td>{{item.num}}</td>
</tr>
</table>
<p>礼物总数:{{ totalCount }} 个</p>
</div>
<script src=”https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js“></script>
<script>
data:{
list:[
]
},
computed:{
// 下一次读取,直接读缓存就行,性能高
totalCount(){
// 计算属性函数内部,可以直接通过 this 访问到app实例
// 需求:对 this.list 数组里面的 num进行求和,用reduce
// 0是一个起始值,起始时 0是sum item.num是1,然后依次把数组里面的累加
let total = this.list.reduce((sum,item) => sum + item.num,0)
return total
// let是块作用域,在函数中声明了var,整个函数内都是有效的,比如说在for循环内定义的一个var变量,实际上其在for循环以外也是可以访问的
// 而let由于是块作用域,所以如果在块作用域内定义的变量,比如说在for循环内,在其外面是不可被访问的
}
}
})
</script>
</body>
</html>
原文地址:https://blog.csdn.net/m0_59745705/article/details/134645519
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_1433.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!