前端基础-vue(计算属性)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41442781/article/details/89677023

HTML部分

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>vue计算属性</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
  <!--<input type="text" v-model="value"/>//v-model实现一个双向绑定-->
  <button @click="jiayi">加一</button>
  <button v-on:click="jianyi">减一</button>
  <p>{{value}}</p>
  <p>{{bijiao()}}|{{output}}|{{value3}}</p>
</div>
<script src="../js/vue-3.js"></script>
</body>
</html>

js部分

new Vue({
    el:"#app",
    data:{
        value:0,
        value2:'',//声明一个空字符串
        value3:'',
    },
    methods:{
        jiayi:function(){
            this.value++;
            //this.value2=this.value > 4?"大于4":"小于4";
        },
        jianyi:function(){
            this.value--;
            //this.value2=this.value > 4?"大于4":"小于4";
        },
        bijiao:function(){//这个代替掉上面注释掉的那两行,然后在页面中调用这个方法
            return this.value2=this.value > 4?"大于4":"小于4";
        }
    },
    //监听数据的的第一种方式-computed计算属性;
    computed:{//计算属性,在计算属性中函数会考虑页面的变化是否与其中的数据相关,如果页面变化与函数里的变化不想关,就不会执行代码,提高效率
        output:function(){//函数里只有value2发生变化时才会执行,页面可以直接用output调用
            return this.value2=this.value > 4?"大于4":"小于4";
        },
    },
    //监听数据的的第二种方式-watch;
    watch:{
        value:function(val){//要监听value2这个数据,并把value2的最新值传到第一个参数里
            this.value3=val > 4?"大于4":"小于4";//和computed区别1,不需要返回值
            //区别二,watch可以执行异步事件
            var th=this
            window.setTimeout(function(){//五秒之后让value等于0
                th.value=0;//这里要注意使用外部的this指向
            },5000)
        }
    }
})

猜你喜欢

转载自blog.csdn.net/qq_41442781/article/details/89677023