计算属性 {#computed-property}
让我们在上一步的 todo 列表基础上继续。现在,我们已经给每一个 todo 添加了切换功能。这是通过给每一个 todo 对象添加 done 属性来实现的,并且使用了 v-model 将其绑定到复选框上:
```vue-html{2}
下一个可以添加的改进是隐藏已经完成的 todo。我们已经有了一个能够切换 `hideCompleted` 状态的按钮。但是应该如何基于状态渲染不同的列表项呢?
<div class="options-api">
介绍一个新概念:<a target="_blank" href="/guide/essentials/computed.html">计算属性</a>。我们可以使用 `computed` 选项声明一个响应式的属性,它的值由其他属性计算而来:
<div class="sfc">
```js
export default {
// ...
computed: {
filteredTodos() {
// 根据 `this.hideCompleted` 返回过滤后的 todo 项目
}
}
}