当前位置:首页 > VUE

vue中怎么实现计算

2026-01-23 01:49:22VUE

计算属性(Computed Properties)的基本用法

在 Vue 中,计算属性通过 computed 选项定义。计算属性是基于它们的依赖进行缓存的,只有依赖发生变化时才会重新计算。

new Vue({
  data: {
    firstName: 'John',
    lastName: 'Doe'
  },
  computed: {
    fullName: function() {
      return this.firstName + ' ' + this.lastName;
    }
  }
})

计算属性的缓存特性

计算属性会缓存计算结果,只有当依赖的响应式属性变化时才会重新计算。相比之下,方法调用会在每次渲染时都执行。

vue中怎么实现计算

computed: {
  now: function() {
    return Date.now() // 不会更新,因为不是响应式依赖
  }
}

计算属性的 Setter

计算属性默认只有 getter,但也可以提供 setter。

computed: {
  fullName: {
    get: function() {
      return this.firstName + ' ' + this.lastName;
    },
    set: function(newValue) {
      var names = newValue.split(' ');
      this.firstName = names[0];
      this.lastName = names[names.length - 1];
    }
  }
}

计算属性 vs 方法

方法会在每次调用时执行,而计算属性会缓存结果。对于开销大的计算,使用计算属性更高效。

vue中怎么实现计算

methods: {
  reversedMessage: function() {
    return this.message.split('').reverse().join('');
  }
}

计算属性 vs 侦听属性

侦听属性(watch)适合在数据变化时执行异步或开销较大的操作,而计算属性适合同步计算派生值。

watch: {
  firstName: function(val) {
    this.fullName = val + ' ' + this.lastName;
  },
  lastName: function(val) {
    this.fullName = this.firstName + ' ' + val;
  }
}

计算属性的依赖追踪

计算属性会自动追踪响应式依赖。如果依赖是非响应式的(如不在 data 中定义),计算属性不会更新。

data: {
  object: {
    nonReactiveProp: 'value'
  }
},
computed: {
  value: function() {
    return this.object.nonReactiveProp // 不会更新
  }
}

标签: vue
分享给朋友:

相关文章

vue 实现手册

vue 实现手册

以下是关于 Vue.js 实现手册的整理内容,涵盖核心概念、实践方法和常见场景的解决方案: 核心概念与基础用法 Vue.js 是一个渐进式 JavaScript 框架,核心特点包括数据驱动视图和组…

vue实现前端注册

vue实现前端注册

Vue 实现前端注册功能 注册表单设计 使用 Vue 的模板语法创建注册表单,包含用户名、邮箱、密码和确认密码字段。表单需绑定 v-model 实现双向数据绑定。 <template>…

vue前端分页怎么实现

vue前端分页怎么实现

前端分页实现方法 在Vue中实现前端分页通常涉及数据分割和页面控制逻辑。以下是常见的实现方式: 使用计算属性分页 通过计算属性对数据进行切片处理: computed: { paginate…

用vue实现滑动输入条

用vue实现滑动输入条

使用 Vue 实现滑动输入条 使用原生 HTML5 input range 实现 在 Vue 模板中直接使用 <input type="range">,通过 v-model 绑定数据:…

vue实现弹窗

vue实现弹窗

Vue 实现弹窗的常见方法 使用组件化方式封装弹窗 创建一个独立的弹窗组件(如 Modal.vue),通过 v-if 或 v-show 控制显示隐藏: <template> <…

vue实现visual

vue实现visual

Vue 实现可视化(Visual)的常见方法 在 Vue 中实现可视化通常涉及数据可视化库的集成,以下是几种主流方案: 使用 ECharts ECharts 是一个强大的 JavaScript…