更改计算出的属性不会影响组件

时间:2018-08-11 18:11:47

标签: vue.js vue-component

我有一个组件,具体取决于计算属性

<my-component :title="'Title'" v-model="myModel"></my-component>

myModel-它只是具有get / set结构的计算属性

data: {
    item: {
        subItem: {
            subItemProp: false,
        }
    }
},
created: function () {
    this.getData();
},
computed: {
    myModel: {
        get: function () {
            var obj = {};
            obj["Base"] = { value: this.item.subItem.subItemProp, tag: "Base", message: "Message" };
            return obj;
        },
        set: function (newValue) {
            this.item.subItem.subItemProp = newValue["Base"].value;
        }
    }
},
method:{
        getData: function () {
        $.ajax({
            url: 'someUrl',
            type: 'GET',
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                this.item = data;
            }
    }
}
}

除了一个案例,一切正常。当我刷新页面时,反应正常,组件获取默认的false值,但是在创建步骤之后,我从服务器获取了新值,计算属性(MyModel)捕获了更改并返回了更改的对象,但是由于某种原因,组件没有获取一个新的价值。 有什么想法,为什么会发生?

0 个答案:

没有答案