zoukankan      html  css  js  c++  java
  • Vue method与computed的区别

    为了说明method与computed的区别,在此我想先来看看computed属性在vue官网中的说法:

    模板内的表达式是非常便利的,但是它们实际上只用于简单的运算。在模板中放入太多的逻辑会让模板过重且难以维护。
    

    说到这里有没有想到点什么?有没有立马想起html与css样式分离的情况呢。这种写法为我们后期的升级维护留下了空间。

    下面我们来看看一个例子:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="javascript/vue.min.js"></script>
    </head>
    <body>
        <div id="app">
            //直接在模板中绑定表达式
            <p>{{message.split('').reverse().join('')}}</p>
    
            //运用计算属性
            <p>message反转之后的结果:{{reverseMessage}}</p>
        </div>
        <script>
            var vm=new Vue({
                el:"#app",
                data:{
                    message:"hello"
                },
                computed:{
                    reverseMessage:function(){
                        return this.message.split('').reverse().join('');
                    }
                }
            })
        </script>
    </body>
    </html>
       在上面这种情况下,模板不再简单和清晰。在意识到这是反向显示 message 之前,你不得不再次确认第二遍。当你想要在模板中多次反向显示 message 的时候,问题会变得更糟糕。这就是对于
    任何复杂逻辑,你都应当使用计算属性的原因。

    下面我将运用method与computed进行比较

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="javascript/vue.min.js"></script>
    </head>
    <body>
        <div id="app">
            <p>{{message}}</p>
            //直接在模板中绑定表达式
            <p>{{message.split('').reverse().join('')}}</p>
    
            //运用计算属性
            <p>{{reverseMessage}}</p>
    
            //运用methods方式
            <p>{{methodMessage()}}</p>
        </div>
        <script>
            var vm=new Vue({
                el:"#app",
                data:{
                    message:"hello"
                },
                computed:{
                    reverseMessage:function(){
                        return this.message.split('').reverse().join('');
                    }
                },
    
                methods:{
                    methodMessage:function () {
                        return this.message.split('').reverse().join('');
                    }
                }
    
            })
        </script>
    </body>
    </html>
    
    
  • 相关阅读:
    怎样跟踪来访用户?
    五个瓶颈影响你的Asp.Net程序(网站)性能
    if判断与比较操作符gt、lt、eq等的使用
    裸机LCD驱动配置
    汇编指令-位置无关码(BL)与绝对位置码(LDR)(2)
    汇编指令-MRS(读)和MSR(写)指令操作CPSR寄存器和SPSR寄存器使用(1)
    Nand Flash驱动(实现初始化以及读操作)
    makefile使用.lds链接脚本以及 $@ ,$^, $,< 解析
    makefile初步制作,arm-linux- (gcc/ld/objcopy/objdump)详解
    Liunx-常用命令杂烩(5)
  • 原文地址:https://www.cnblogs.com/catbrother/p/9400841.html
Copyright © 2011-2022 走看看