【vue】computed计算属性

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="app">
        <h2>add:{{add()}}</h2>
        <h2>add:{{add()}}</h2>

        <h2>sum:{{sum}}</h2>
        <h2>sum:{{sum}}</h2>

        x<input type="text" v-model.number="data.x"><br>
        y<input type="text" v-model.number="data.y">

    </div>

    <script type="module">
        import { createApp, reactive, computed } from './vue.esm-browser.js'
        createApp({
            setup() {
                const data = reactive({
                    x: 12,
                    y: 25
                })
                //无缓存,每次调用都会重新计算
                let add = () => {
                    console.log("add")
                    return data.x + data.y
                }
                //有缓存,相同结果不需要重复计算
                const sum = computed(() => {
                    console.log("sum")
                    return data.x + data.y
                })
                return {
                    data,
                    add,
                    sum
                }
            }
        }).mount("#app")
    </script>
</body>

</html>

调用了两次add,一次sum

参考

https://www.bilibili.com/video/BV1nV411Q7RX

相关推荐
姜 萌@cnblogs34 分钟前
Saga Reader 0.9.9 版本亮点:深入解析核心新功能实现
前端·ai·rust
gnip43 分钟前
实现elementplus官网主题切换特效
前端·css
Darling02zjh44 分钟前
HTML5
前端·html·html5
开开心心_Every1 小时前
多线程语音识别工具
javascript·人工智能·ocr·excel·语音识别·symfony
成长ing121381 小时前
闪白效果
前端·cocos creator
Lazy_zheng1 小时前
React架构深度解析:从 Stack 到 Fiber,解决 CPU 和 I/O 瓶颈问题
前端·react.js·前端框架
张元清1 小时前
什么是React并发模式中的Tearing(撕裂)
前端·面试
AndyLaw1 小时前
统计字符数错一半,我被 length 坑了两次
前端·javascript
关羽的小刀1 小时前
Element-UI最新版暗藏Lodash漏洞?一次真实项目安全排查记录
前端
张志鹏PHP全栈1 小时前
Vue3第五天,ref 和 reactive的介绍和区别
前端·vue.js