一般什么时候使用computed?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,不是的,computed中定义的数据也是全局的,与data中的数据一样,它也是可以在其他方法中,使用"this."获取的,如下:

http://img1.sycdn.imooc.com//climg/5f50a2cb09c7f4a205770239.jpg

祝学习愉快!

好帮手慕久久 2020-09-03 14:58:53

同学你好,问题解答如下:

当我们使用的某个变量,是根据data中的数据或者props中的数据,计算而来时,则需要使用computed属性,比如下面这个例子:

http://img1.sycdn.imooc.com//climg/5f5093e909edb3a208280625.jpghttp://img1.sycdn.imooc.com//climg/5f5093f409aad0dd03120097.jpg

代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>demo1</title>
    <script type="text/javascript" src="vue.js"></script>
    <style>
    </style>
</head>
<body>
<div id="app">
    <button v-on:click="BtnClick">提交</button>
    {{words}}
</div>
<script>
    let vueApp = new Vue({
        el: '#app',
        data: {
           num:0,    /*已经提交了几次*/
           total:10  /*总共可以提交几次*/
        },
        computed:{
            //页面上 要显示 “还可以提交XX次”
            words:function (){
              return "还可以提交"+(this.total-this.num)+"次"
            }
        },
        methods: {
            BtnClick: function() {
                if(this.num==this.total){  //提交了10次后,就不再对num执行加操作了
                    return
                }
                this.num++
            }
        }
    })
</script>
</body>
</html>

同学可以试下效果。

如果我的回答帮到了你,欢迎采纳,祝学习愉快!

  • 提问者 慕运维5475419 #1
    老师的这个例子中的words是不是可以理解成局部变量,而data中num,total可以理解成全局变量?
    2020-09-03 15:52:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师