我们为什么需要缓存?假设我们有一个性能开销比较大的的计算属性 A,它需要遍历一个巨大的数组并做大量的计算。然后我们可能有其他的计算属性依赖于 A 。
如果没有缓存,我们将不可避免的多次执行 A 的 getter!如果你不希望有缓存,请用方法来替代。
下面看下Vue计算属性的使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>计算属性</title> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta content="yes"> <meta content="black"> <script src="https://www.jb51.net/js/Vue.js"></script> <script src="https://www.jb51.net/js/vue-resource.js"></script> <script> window.onload = function(){ var vm = new Vue({ el:'#box', data: { a: 1, }, computed:{ b:function(){ return this.a+1; } } }); console.log(vm.a); } </script> </head> <body> <div> a => {{a}} <br> b => {{b}} </div> </body> </html> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>计算属性</title> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta content="yes"> <meta content="black"> <script src="https://www.jb51.net/js/Vue.js"></script> <script src="https://www.jb51.net/js/vue-resource.js"></script> <script> window.onload = function(){ var vm = new Vue({ el:'#box', data: { a: 1, }, computed:{ b:function(){ return this.a+1; } } }); document.onclick = function(){ vm.a = 101; } } </script> </head> <body> <div> a => {{a}} <br> b => {{b}} </div> </body> </html> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>计算属性</title> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta content="yes"> <meta content="black"> <script src="https://www.jb51.net/js/Vue.js"></script> <script src="https://www.jb51.net/js/vue-resource.js"></script> <script> window.onload = function(){ var vm = new Vue({ el:'#box', data: { a: 1, }, computed:{ b:{ get:function(){ return this.a+2; }, set:function(val){ this.a=val; } } } }); document.onclick = function(){ vm.b = 10; } } </script> </head> <body> <div> a => {{a}} <br> b => {{b}} </div> </body> </html>
总结
以上所述是小编给大家介绍的vue计算属性及使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章: