Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新vue.js中的数据属性/对象_Javascript_Vue.js - Fatal编程技术网

Javascript 更新vue.js中的数据属性/对象

Javascript 更新vue.js中的数据属性/对象,javascript,vue.js,Javascript,Vue.js,是否有一种方法可以通过编程方式更新vue.js中的数据对象/属性?例如,当我的组件加载时,我的数据对象是: data: function () { return { cars: true, } } 触发事件后,我希望数据对象如下所示: data: function () { return { cars: true, planes: true } } 我试过: <script> module.expo

是否有一种方法可以通过编程方式更新vue.js中的
数据
对象/属性?例如,当我的组件加载时,我的数据对象是:

data: function () {
    return {
        cars: true,
    }
}
触发事件后,我希望
数据
对象如下所示:

data: function () {
    return {
        cars: true,
        planes: true
    }
}
我试过:

<script>

module.exports = {

    data: function () {
        return {
            cars: true
        }
    },

    methods: {
        click_me: function () {
            this.set(this.planes, true);
        }
    },

    props: []

}

</script>

module.exports={
数据:函数(){
返回{
汽车:是的
}
},
方法:{
单击我:函数(){
this.set(this.planes,true);
}
},
道具:[]
}
但是这给了我一个错误
。这个集合不是一个函数。有人能帮忙吗


提前谢谢

Vue不允许向已创建的实例动态添加新的根级别被动属性。但是,可以向嵌套对象添加反应属性,因此可以创建对象并添加新属性,如下所示:

data: function () {
    return {
        someObject:{
            cars: true,
    }
}
并使用set方法添加属性:

methods: {
        click_me: function () {
            this.$set(this.someObject, 'planes', true)
        }
    }
对于
vue 1.x
使用
vue.set(this.someObject,'planes',true)


Hi-我试过了,但我一直得到
vue.common.js?e881:2964未捕获的类型错误:exp.trim不是函数(…)
@user1547174这是外观vue 1.x试试这个
vue.set(this.someObject,'planes',true)