老师,之前计算属性是自动执行的,这里必须用其它方法让计算属性计算吗

老师,之前计算属性是自动执行的,这里必须用其它方法让计算属性计算吗

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8" />

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

<meta name="viewport" content="width=device-width, initial-scale=1.0" />

<title>vue-compositionAPI-setup函数-计算属性</title>

</head>

<body>

<div id="root"></div>

<!-- 如果你想要在一个新项目里快速尝试 Vue 3: -->

<script src="https://unpkg.com/vue@next"></script>

<script>

//  Vue.createApp创建实例

const app = Vue.createApp({

template: `<div>{{count}}</div>`,

setup(props, context) {

const { ref, computed } = Vue;

let count = ref(0);

const add = computed(() => {

return (count += 1);

});

return { count };

},

});

const vm = app.mount("#root"); //mount方法,即在root元素节点使用vue实例

</script>

</body>

</html>



正在回答

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

1回答

同学你好,不太理解同学的意思,是指计算属性会不会自动执行吗?如果是的话,那么,当计算属性所依赖的响应式数据发生改变后,会自动重新计算,示例:

https://img1.sycdn.imooc.com//climg/62848aad09519b0714230753.jpg

3秒后,改变了count的值之后,会重新计算,自动执行computed里面的回调,如下:

https://img1.sycdn.imooc.com//climg/62848aff097a4e0207220627.jpg

如果不是的话,可以图文结合再详细描述下,便于帮助同学准确的定位与解决问题。

祝学习愉快~

  • FalseMask 提问者 #1

    是的,3秒之后为什么是3呢

    2022-05-18 14:18:40
  • 好帮手慕慕子 回复 提问者 FalseMask #2

    因为三秒后,改变了count值,此时值为2, 由于count发生了改变,默认会重新执行computed中回调函数,函数内部针对count又进行了加1操作,所以最终count值为3

    祝学习愉快~

    2022-05-18 14:36:58
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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