set问题

来源:3-5 计算属性的 getter 和 setter

偏不信这个邪

2018-10-18

<div id="app">
    <input type="text" v-model = 'text'>
    <button id="btn" @click=btnClick>提交</button>
    <div id="hide" style="display: none;">{{ text4 }}</div>
    <div id="msg1">{{ text1 }}</div>
    <div id="msg2">{{ text2 }}</div>
    <div id="msg3">{{ text3 }}</div>
</div>
<script>
    var vm =new Vue({
        el: '#app',
        data: {
            text :'',
            // text1: '',
            text2: '22',
            text3: '',
            text4:''
        },
        methods:{
            btnClick: function(){
                this.text4 = this.text;
                this.text = '';
            }
        },
        computed: {
            text1: {
                get:function (){
                    return this.text4;
                },
                set:function (newValue){
                    console.log(newValue);
                    this.text3 = newValue;
                }
            }
        }
    });

代码写的有点乱,请老师谅解,我想在输入矿中输入内容,点击按钮后在text1中显示,然后在set中设置text3的值,我更改输入框中的内容,只调用了get方法,没有调用set,这是为什么呢,按理说值是发生变化了的啊?我在点击按钮的时候无法直接在computed给text1赋值,text4是我给的一个过渡

写回答

1回答

淡入心底

2018-10-20

set属性是在侦听到所计算的属性值的改变后触法 

this.text1 = this.text4

这样可以触法set事件

0
0

Vue2.5-2.6-3.0开发去哪儿网App 零基础入门到实战

课程紧跟Vue3版本迭代,企业主流版本Vue2+Vue3全掌握

10675 学习 · 8191 问题

查看课程