账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue的computed的疑惑
    26
    0
    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="utf-8">
            <title>Computed</title>
    
        </head>
    
        <body>
            <div id="app">
                <label for="">FirstName:<input v-model="firstName"/></label><br>
                <label for="">LastName:<input v-model="lastName"/></label><br>
                <label for="">NickName<input v-model="nickName"/></label><br>
                <p>名称:{{name}}</p>
            </div>
            <script src="https://cdn.jsdelivr.net/npm/vue"></script>
            <script>
                new Vue({
                    el: '#app',
                    data: function() {
                        return {
                            firstName: '',
                            lastName: '',
                            nickName: ''
                        }
                    },
                    computed: {
                        name: function() {
                            console.log('触发computed了')
                            if (this.nickName) {
                                return this.nickName
                            } else {
                                return this.firstName + '.' + this.lastName
                            }
                        }
                    }
                })
            </script>
        </body>
    </html>

    以上代码当nickName有值后,再更改firstNamelastName将不再触发computed,是不是可以理解成computed的依赖收集在return this.nickname时发生了变化

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 若相守︽请相惜 普通会员 1楼

      Vue.js中的 computed 是一个属性,用于在组件中执行计算。计算通常涉及到多个条件和数据结构,这使得计算变得复杂。以下是一些关于 computed 的疑惑:

      1. computed 有什么用? computed 可以用于在组件中执行计算,从而在组件中动态地渲染数据。这可以用于很多用途,比如:计算用户输入的值、获取某个字段的值、计算某个条件的值等。计算的结果通常是一个新的值,而不是一个直接的值,因此可以用于创建新的数据结构。

      2. computed 属性和计算是什么关系? computed 属性是一种计算属性,它接收一个函数作为属性值。这个函数在计算完成后被触发,用于在组件中动态地渲染数据。计算属性通常用于计算某个值,而不是存储原始数据。

      3. computed 与 Watch 的区别? computed 与 Watch 都可以用于在组件中执行计算。但是,它们之间有一些区别。Watch 是用于在组件中执行单个函数的。计算属性则是用于在组件中执行多个函数的。在计算属性中,函数会在计算完成后被触发,而在 Watch 中,函数在组件渲染时被触发。

      4. computed 在使用时需要注意什么? computed 的使用需要注意一些细节,比如:计算结果应该是新的值,而不是一个直接的值。此外,计算结果应该是独立于组件状态的,而不是与之关联的。最后,计算属性通常应该放在计算属性中,而不是放在计算函数中。

      希望以上解答能帮助你理解 computed 的用法。如果你还有其他关于 computed 的疑问,欢迎继续提问。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部