Vue 计算属性用法笔记
2018-11-28 22:21
441 查看
计算属性 vs 方法
a.计算属性是基于它的依赖进行更新 只有在相关依赖发生改变时才能进行更新
b.计算属性为缓存,依赖不变,多次访问方法结果为之前缓存结果,不会多次执行
计算属性必须依赖对象用 有所依赖才有存在意义
get和set
计算属性只能通过自己的get函数获得值 默认为get函数 不能用外部的赋值为无效
若要用外部改变计算属性 需通过设置set函数来改变他的依赖 使其自己的get函数获得我们想要的结果
话不多说 直接上代码
<div class="app" v-if="seen"> {{msg1}} <h2>{{reverseMsg}}</h2> <button @click='change'>修改msg值 bye world</button> <h2>{{computedGetNum}}</h2> <button @click='changeNum'>改变num 传值给计算属性</button> <button onclick="fn()">测试num 普通的方法</button> </div> <script> var vm = new Vue({ el: '.app', data: { msg1: 'Hello world', seen: true, num:1 }, computed:{ // 计算属性可以包含逻辑操作 同时计算属性依赖于msg 与方法区别在于被依赖改变且只执行一次 reverseMsg: function() { return this.msg1.split('').reverse().join(); }, computedGetNum:{ get:function(){ // 一秒执行一次 但只返回return 时间输出语句只执行一次 console.log("Computed" + new Date()); return this.num-1; // 只有当依赖的num改变时 才会重新输出时间语句 }, set:function(val){ /* 定义一个接口连接到计算属性set方法 传入一个val 更改他的依赖 实现它的get方法输出我们想要的结果 */ this.num = 111; } } }, methods:{ change(){ this.msg1='bye world' }, getNum(){ /* 普通的调用方法则会不停执行循环体 用计算属性不同 */ console.log(new Date()); return this.num-1; }, changeNum(){ this.computedGetNum = 111; } } }); function fn(){ setInterval(function(){ console.log(vm.getNum()) /* 循环调用methods getNum */ },1000) } </script>
相关文章推荐
- Vue学习笔记(3)关于Vue的计算属性
- vue.js计算属性用法(computed)
- vue学习笔记---计算属性和观察者
- vue笔记--计算属性
- vue.js计算属性用法(computed)技巧,依赖其他vue实例的数据
- vue 学习笔记 part-5 ->计算属性
- Vue.js笔记-计算属性 class与style绑定
- vue学习笔记: 8.计算属性-----computed
- Vue.js第三天学习笔记(计算属性computed)
- Vue.js第三天学习笔记(计算属性computed)
- vue学习笔记 计算属性(四)
- Vue学习笔记3.5 计算属性computed中的 get方法和set方法
- vue计算属性get和set用法示例
- Vue计算属性的学习笔记
- 谈一谈对Vue计算属性computed的初步认识,及用法心得。
- Vue计算属性的用法
- Vue 学习笔记 — css属性计算的问题
- vue.js计算属性computed用法实例分析
- Vue计算属性computed简介及简单用法(表格筛选)
- vue 更改计算属性后select选中值不更改的解决方法