当使用ajax更新数据时,vuejs不会再次发送数据

时间:2018-01-14 03:20:36

标签: ajax vue.js vue-component

我正在使用vue js来更新我页面上的一些内容,这是一个真正简单的用例

Vue.component('my-component', {
    template: '.....<a v-on:click="myfunction">data</a>{{stuff}}'
    data: {
        stuff: 0
    }

    mounted(){
        let __this = this;
        axios.....then(function (data){ __this.stuff = 1l }); // works

    }

    methods: {
                myfunction: function(){
                    this.stuff = 2;    /// dosnt work. template not rendered
                }
            }
    });

设置变量以检测更改或任何指针的任何特定方法?感谢。

1 个答案:

答案 0 :(得分:0)

对于可重用组件,您的data字段实际上应该是一个返回数据对象的函数:

Vue.component('my-component', {
    template: '.....<a v-on:click="myfunction">data</a>{{stuff}}',
    data() {
        return {
            stuff: 0
        };
    },

    mounted(){
        let __this = this;
        axios.....then(function (data){ __this.stuff = 1l }); // works
    },
    methods: {
        myfunction: function(){
            this.stuff = 2;    // should work now
        }
    }
});

有关此问题的详情,请查看the relevant section of the Vue.js documentation