ts computed
时间: 2023-11-09 16:05:06 浏览: 87
计算属性(computed)是Vue中用于处理需要根据响应式数据进行计算的属性的一种方式。它们通过get和set方法来实现。具体使用方法如下:
1. 在JavaScript中的使用方式:
```javascript
computed: {
filterList() {
return this.options.filter((item) => item[this.props.label].includes(this.keywords))
},
checkAll: {
get() {
if (this.filterList.length <= 0) {
return false
} else {
const isAllChecked = this.filterList.every((item) => item.checked)
return isAllChecked
}
},
set(val) {
this.filterList.forEach((item) => {
item.checked = val
})
}
}
}
```
2. 在TypeScript中的使用方式:
```typescript
get name(): string {
return this.firstName + "·" + this.lastName
},
set name(val) {
// 其他操作code
}
```
3. 通过泛型参数的形式增加类型:
```typescript
import { reactive } from 'vue'
type Person = {
name: string
age: number | string
}
const p = reactive<Person>({
name: 'ifer',
age: 18,
})
```
4. 通过泛型指定computed计算属性的类型:
```typescript
import { ref, computed } from 'vue'
const count = ref(100)
const doubleMoney = computed<string>(() => (count.value * 2).toFixed(2))
```
阅读全文