Vue中计算属性和methods方法的区别

1、计算属性和methods的执行结果都是相同的

 2、当计算属性没有依赖data中的数据时,第一次使用计算属性时,会把第一次的结果进行缓存,后面再次使用计算属性,都会去第一次的结果中进行查找

3、methods方法,每调用一次,就会触发一次

4、计算属性的用法与data中的数据用法一样,因此计算属性在使用时,不加 ( )

5、methods方法在调用时,( ) 可加可不加

6、计算属性具有缓存功能,methods方法没有

    <div id="app">
        <p>methods中的方法</p>
        <p>{{fn1()}}</p>
        <p>{{fn1()}}</p>
        <p>{{fn1()}}</p>
        <hr />
        <p>计算属性中的方法</p>
        <p>{{fn2}}</p>
        <p>{{fn2}}</p>
        <p>{{fn2}}</p>
    </div>
<script src="./vue.js"></script>
<script>
    new Vue({
        el:"#app",
        data:{

        },
        computed:{
            fn2(){
                console.log('计算属性');
                return new Date();
            }
        },
        methods:{
            fn1(){
                console.log('函数方法');
                return new Date();
            }
        }
    });
</script>

 

Vue计算属性(Computed Properties)和方法Methods)都可以用于在模板处理数据和逻辑,但它们在使用方式和特性上有一些区别计算属性的特点和使用方式如下: 1. 缓存:计算属性会缓存计算结果,只有在其依赖的响应式数据发生变化时才会重新计算。这样可以避免重复计算,提高性能。 2. 声明式:计算属性是以属性的形式存在的,可以像普通属性一样在模板使用,不需要显式调用。 3. 自动追踪依赖:Vue会自动追踪计算属性的依赖关系,当依赖的数据发生改变时,计算属性会自动重新计算。 4. Getter和Setter:计算属性可以定义getter和setter函数,可以在获取计算属性值时执行一些逻辑操作,也可以在设置计算属性值时执行一些额外的逻辑操作。 示例代码: ```javascript computed: { fullName() { return this.firstName + ' ' + this.lastName; } } ``` 方法的特点和使用方式如下: 1. 实时执行:方法会在每次调用时执行,不会进行缓存。每次使用方法时都会重新执行其的逻辑。 2. 显式调用:方法需要在模板通过方法名来调用,需要使用 `()` 运算符。 3. 适用于复杂逻辑:方法适用于需要做一些复杂的逻辑判断或处理的情况,可以包含任意的 JavaScript 代码。 示例代码: ```javascript methods: { getFullName() { return this.firstName + ' ' + this.lastName; } } ``` 综上所述,计算属性适用于对响应式数据进行计算和处理,并且在模板可以像属性一样使用。而方法适用于需要进行实时计算或包含复杂逻辑的情况,需要在模板显式调用。选择使用计算属性还是方法取决于具体的场景和需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值