美文网首页
计算属性与方法

计算属性与方法

作者: 子却 | 来源:发表于2018-09-29 10:50 被阅读0次

计算属性computed

在一个计算属性里可以完成各种复杂的逻辑,包括运算、函数调用等,最终需返回一个结果。

<div id="app">
    <div>{{message.split('').reverse().join('')}}</div>

    <div>原数值:{{message}}</div>
    <div>计算后得数:{{newCount}}</div>
</div>
<script>
    var c=new Vue({
        el:"#app",
        data:{
            message:"Hello",
        },
        computed:{
            newCount:function(){
                this.message.split('').reverse().join('')
            }
        }
})
</script>
  • 计算属性可以依赖多个Vue实例的数据,只要改变一个数据项,计算属性就会从新计算.
<div id="app">
    <div>
        <input type="text" v-model="package1.count">*20+2*200=
    </div>
    <div>
        <p>总价是:{{calculated}}</p>
    </div>
</div>

<script>
     var t=new Vue({
        el:"#app",
        data:{
            message:"Hello",
            package1:  {
                 count:1,
                 price:200,
            },  
             package2:{
                 count:2,
                 price:100,
             }           
         },
         computed:{
                 calculated:function(){
                    return this.package1.count*this.package1.price+this.package2.count*this.package2.price
                 }
         }
      })
</script>
  • 计算属性可以依赖其他计算属性,也可以调用其他实例的数据。
<div id="app">
    <div>商品总价:{{calculated}}</div>
</div>
<div id="app2"></div>

<scirpt>
    var root2=new Vue({
        el:"#app2",
        data:{
            count:1,
            price:200,
        }
        computed:{
            cal:function(){
                return this.price*2
            }
        }
    })
     var root=new Vue({
        el:"#app",
        computed:{
            calculated:function(){
                return root.count*root2.price+root2.cal
            }
        }
    })
</script>

上例中,calculated从root实例,调用root2实例的数据和其他计算属性。

计算属性与方法的区别

计算属性是基于它们的依赖进行缓存的。只有依赖值改变时,计算属性才重新求值。依赖不变时,多次访问计算属性,会直接返回之前的计算结果,不必再次执行函数。
而每次访问调用方法时,它都会再次执行函数。即使当前页面已经调用过一次了,新调用时还会重新计算。

相关文章

  • swift面向对象基础<二>

    存储属性和计算属性 今天讨论实例存储属性与实例变量,结构体常量与实例属性,定义计算属性,setter方法,属性观察...

  • Vue之计算属性computed(一)

    Vue中什么是计算属性computed,计算属性的基础、计算属性computed与方法method实现相同的功能为...

  • 计算属性与方法

    一、计算属性缓存 vs 方法 计算属性也可以使用方法,来达到同样的效果你可能已经注意到我们可以通过在表达式中调用方...

  • 计算属性与方法

    计算属性computed 在一个计算属性里可以完成各种复杂的逻辑,包括运算、函数调用等,最终需返回一个结果。 计算...

  • vue基础

    一、 计算属性与方法比较 计算属性: 方法: 可以将同一函数定义为一个方法而不是一个计算属性。两种方式的最终结果确...

  • 属性和方法

    1、属性 存储属性 延迟存储属性 计算属性 只读计算属性 只有 getter 方法但没有 setter 方法的计算...

  • computed深入

    计算属性set/get 计算属性 (单向)在computed属性对象中定义计算属性的方法,在页面使用{{方法名}}...

  • Vue基本语法和生命周期

    计算属性和监视 计算属性在computed属性对象中定义计算属性的方法在页面中使用{{方法名}}来显示计算的结果 ...

  • Vue的基本语法和生命周期

    一、计算属性 计算属性在computed属性对象中定义计算属性的方法在页面中使用{{方法名}}来显示计算的结果 监...

  • Vue的基本语法和生命周期

    一、计算属性 计算属性在computed属性对象中定义计算属性的方法在页面中使用{{方法名}}来显示计算的结果 监...

网友评论

      本文标题:计算属性与方法

      本文链接:https://www.haomeiwen.com/subject/tbdvoftx.html