爱编程

计算属性用法2

2018-10-15  本文已影响13人  一叶扁舟丶

每一个计算属性都包含一个 getter 和一个 setter, 我们上篇示例都是计算属性的默认用法,只是利用了 gerrer 来读取.在你需要时,也可提供一个 setter 函数,当手动修改计算属性的值就想修改一个普通数据那样时,就会触发 setter 函数,执行一些自定义的操作.

例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>示例</title>

</head>
<body>

    <div id="app">
        姓名: {{ fullName }}
    </div>

    <script src="https://unpkg.com/vue/dist/vue.min.js"></script>

    <script>

        var app = new Vue({
            el: '#app',
            data: {
                firstName: 'Javk',
                lastName: 'Green'
            },
            computed: {
                fullName: {
                    // getter 用于读取
                    get: function () {
                        return this.firstName + '' + this.lastName;
                    },
                    // stter 写入时触发
                    set: function (newValue) {
                        var names = newValue.split('');
                        this.firstName = names[0];
                        this.lastName = names[names.length - 1];
                    }
                }
            }
                
        })
            

    </script>

</body>
</html>

注: 当执行 app.fullName = 'John Doe'时,setter 就会被调用,数据 firstName 和 lastName 都会相对更新,视图同样也会更新.

上一篇 下一篇

猜你喜欢

热点阅读