computed依赖其他Vue 示例

Posted kukai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了computed依赖其他Vue 示例相关的知识,希望对你有一定的参考价值。

计算属性还有两个很实用的小技巧容易被忽略:一是计算属性可以依赖其他计算属性:
                      计算属性不仅可以依赖当前 Vue 实例的数据,还可以依赖其他实例的数据,
计算属性Computed示例
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app1">
        <input type="text" v-model="name"><br/>
    </div>
    <div id="app2">
        <span>{{reverseText}}</span>
    </div>
    <script>
       var v1=new Vue({
           el:"#app1",
           data:{
               name:""
           }
       });
       var v2=new Vue({
           el:"#app2",
           computed:{
               reverseText:function(){
                  return v1.name.split(",").reverse().join("-");
               }
           }
       })
    </script>
</body>
</html>
 
二、Methods实现示例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app1">
        <input type="text" v-model="name"><br/>
    </div>
    <div id="app2">
        <span>{{reverseText()}}</span>
    </div>
    <script>
       var v1=new Vue({
           el:"#app1",
           data:{
               name:""
           }
       });
       var v2=new Vue({
           el:"#app2",
           methods:{
               reverseText:function(){
                  return v1.name.split(",").reverse().join("-");
               }
           }
       })
    </script>
</body>
</html>
 
 
methods 里定义了 个方法实现了相同的效果,甚至该方法还可以接受参数,使用起来更灵活。既然使用 methods 就可以实现,那么为什么还需要计算属性呢?
  原因就是计算属性是基于它的依赖缓存的。
  个计算属性所依赖的数据发生变化时,它才会重新取值,所以text 只要不改变,计算属性也就不更新


以上是关于computed依赖其他Vue 示例的主要内容,如果未能解决你的问题,请参考以下文章

Vue中computed和watch的区别

Vue computed和watch的区别

Vue computed和watch的区别

Vue computed和watch

Vue中computed和watch的区别

Vue中computed和watch的区别