本文实例讲述了Vue计算属性与侦听器用法。分享给大家供大家参考,具体如下:
vue之所以加载速度非常块,是因为在数据改变时,它并不是将所有组件都刷新,而是在重用代码的基础上对发生改变的地方进行渲染。同时,还得益于计算属性的使用:
1、计算属性
像绑定普通属性一样在模板中绑定计算属性。例如reverseName属性依赖于firstName和lastName,当firstName或lastName发生改变时,依赖于它的 reverseName 也会更新。
利用函数方法也可以实现类似的效果,不同的是计算属性是基于它们的依赖进行缓存的。只有在它的相关依赖发生改变时才会重新求值。这就意味着只要 firstName 还没有发生改变,再次访问 reversedName 计算属性会立即返回之前的计算结果,而不必再次执行函数。相比之下,每当触发重新渲染时,调用方法将总会再次执行函数.
为什么需要缓存?假设我们有一个性能开销比较大的的计算属性 A,它需要遍历一个巨大的数组并做大量的计算。然后我们可能有其他的计算属性 B 依赖于 A 。如果使用函数,每获得一次B就要调用一次函数进行计算,造成很大开销!
计算属性默认为get方法,也可以设定set方法,接收传入处理数据。例如传入originalName,set方法对其进行拆解并复制给firstName与lastName,并引起firstName与lastName改变,调用get()方法。
<div id="app">
    <p>{{originalName}}</p>
    <p>{{reverseName}}</p>
    <button @click="deal()">反转名字</button>
</div>
let vue=new Vue({
    el:'#app',
    data:{
      firstName:'',
      lastName:'',
      originalName:"super tory"
    },
    methods:{
      deal(){
        this.reverseName=this.originalName;
      }
    },
    computed:{            //计算属性钩子
      reverseName:{
        set(string){  //通过set方法对传入参数this.originalName进行操作
          let name=string.split(' ');
          this.firstName=name[1];
          this.lastName=name[0];
        },
        get(){      //通过get方法返回值
          return this.firstName+' '+this.lastName;
        }
      }
    }
});
2、侦听器watch
在Vue中提供一个钩子,侦听data中的某个变量是否改变,如果改变则执行响应函数。
<div id="app2"> <input v-model="listen"> </div>
let vue2=new Vue({
  el:'#app2',
  data:{
    listen:''
  },
  watch:{      //定义侦听器钩子
    listen:function () {  //定义函数侦听listen的变化
      console.log("input内容发生改变");
    }
  }
});
希望本文所述对大家vue.js程序设计有所帮助。
                                    标签:
                                        
                            Vue,计算属性,侦听器
                                免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
                                如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
                            
                        暂无“Vue学习笔记之计算属性与侦听器用法”评论...
                                    更新动态
2025年10月31日
                                2025年10月31日
                    - 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
 
                        