vue computed属性、方法操作数据、watch、filters

参考文章:https://www.cnblogs.com/gunelark/p/8492468.html

computed

computed用来监控自己定义的变量,该变量不在data里面声明,直接在computed里面定义,然后就可以在页面上进行双向数据绑定展示出结果或者用作其他处理
computed比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变量中的某一个值发生了变化则我们监控的这个值也就会发生变化

var vm = new Vue({
    el:'.app',
    data:{
        Math:88,
        English: 77,
        chemistry:99,
    },
    computed:{
        sum:function(){
            return this.Math+ this.English+this.chemistry;
        },
        average:function(){
            return Math.round(this.sum/3);
        },
      // computed 携带参数,需要闭包
      stars () {
          return function (star) {
            var count = 0
            star.forEach((item, index) => {
               if (item) {
                count++
              }
            })
            return count
         }
      }
    }
});

然后在需要显示的标签上渲染

<span>总分:{{sum}}</span>
<span>平均分:{{average}}</span>

方法操作数据

computed里面的区块移到methods中,模板中将{{ xxx }} 替换成{{ xxx() }}结果是一样的
虽然这两种方式输出的结果是相同的,但是性能将遭受毁灭性的打击。使用这种方法totalMarks()方法在每次页面渲染时都被执行一次

watch

watch主要用于监控vue实例的变化,它监控的变量当然必须在data里面声明才可以,它可以监控一个变量,也可以是一个对象,但是我们不能类似这样监控
watch一般用于监控路由、input输入框的值特殊处理等等,它比较适合的场景是一个数据影响多个数据
用法参考:https://www.jianshu.com/p/dcf8a6ad8429

filters

用于简单的数据格式,在应用程序的多个位置都需要它
用法参考:https://www.jianshu.com/p/0c7e2b2e6b92

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容