如果我有一个秒数的整数并且要计算多少分钟,该使用方法或计算属性吗?

时间:2019-07-18 02:55:53

标签: vue.js vuejs2

我无法确定何时应该在方法上使用计算属性。

例如,现在我有一个属性,其中包含表示秒的整数,我想将这些秒转换为分钟。我可以轻松地创建一个以秒为参数的方法,计算秒数/ 60并返回结果,但是,由于它们似乎不接受参数,因此我似乎不了解如何使用计算属性

我认为计算属性的方式只能用于甚至不需要参数的非常基本的东西。我不正确吗?

如果我使用计算属性,该怎么办?

    <p>{{ this.secondsToMinutes(120) }}</p>

    secondsToMinutes(seconds) {
        let minutes = seconds/60;

        return minutes
    },

1 个答案:

答案 0 :(得分:1)

当然,您应该使用计算的属性。有两个原因:

  1. 对计算的属性进行缓存可产生良好的性能。
  2. 就可读性而言,计算属性严格地像吸气剂一样,并且从长远来看更易于推理。

关于可读性,如果您确定计算所得的属性仅应用作纯函数而没有诸如API调用之类的任何副作用,并且您同意此设计准则,那么在大型应用程序中,您将拥有成千上万个此类属性属性,您可以快速推断出它们的用途。

Vue.js文档建议在methods or watchers上使用它们。

示例示例

let vm = new Vue({
    el: '#example',
    data() {
        return {
            durationInseconds: 120
        };
    },
    computed: {
        secondsToMinutes() {
            return this.durationInseconds / 60;
        }
    }
});

<!-- Inside Template -->
<p> {{ secondsToMinutes }} </p>