如何在不刷新页面的情况下显示vuejs存储中的数据

时间:2019-01-15 09:47:29

标签: javascript php laravel vue.js

我有一个laravel项目,我使用vuejs存储来存储数据,我的posts.vue,列出所有帖子以及我的post.vue是用于输入帖子的输入表单,使得帖子可以将数据存储在vuex存储中,但是想在用户发布信息后立即在页面上显示此信息

我的发布方法存储帖子,我这样做 this。$ store.commit('add_post',resp.data); 成功响应后,但不会显示在页面上

我的storejs     #吸气剂     all_posts(state){             返回state.posts         },     #突变     add_post(状态,发布){             state.posts.push(post) }

vuejs文件(feeds.vue)

    methods: {
        infiniteHandler($state){
            this.loading = true;
            axios.get('/feed?page='+this.page)
                .then((response) => {
                    if (response.data.data.length) {
                        this.page += 1;
                        response.data.data.forEach((post) => {
                            this.$store.commit('add_post', post)
                            this.loading = false;
                        });
                    } else {
                        this.loading = false;
                        $state.complete();
                    }});}

vuejs(post.vue)

methods: {
create_post(){
axios.post('/create/post', { content: this.content })
.then( (resp) => {
this.content = ''
new Noty({
theme: 'metroui',
type: 'success',
layout: 'bottomLeft',
text: 'Your Post has Been Published'
}).show();
this.$store.commit('add_post', resp.data);
})
}

我的home.blade.php

添加的帖子应该显示在帖子(供稿)列表中,但不起作用

0 个答案:

没有答案