对于根据 firstNamelastName 计算全名的需求,如果在 method 方法组 中定义一个 fullname() 方法来返回反引号表达式,会导致每次调用其他方法更新页面时,fullname() 方法也会再次调用。

而我们只想让 fullname() 在必须的时候才进行执行,节省资源。此时就可以使用 computed 计算属性。

computed: {
    fullname() {
        return `${this.firstName} ${this.lastName.toUpperCase()}`
    }
}

而在 HTML 中调用是跟访问数据的方法一样,不需要括号。因为Vue将computed同样视为数据,不过是需要先计算一下。

实际上 Vue 会缓存 computed 方法内涉及的数据,只要任意一个数据被修改,都会重新调用该方法。