Vue2.0 vue-router 动态路由 一刷新 整个组件就没了 这是为什么啊?

我配置了一个动态路由,可是一刷新,整个组件就没了。

这个组件是放文章的,我通过点击上一篇或者下一篇可以跳转到相应的页面(获取到数据),但是当我刷新这个页面的时候,整个组件都没了,不只是那些动态数据没了。
beforeRouteUpdate我是这样写的 ,不知道对不对。

beforeRouteUpdate(to, from, next) {
        this.$http({
            url: `http://192.168.1.108:3000${to.path}`,
            method: 'get',
        }).then((res) => {
            this.projectDet = res.data;
        }).catch((res) => {
            console.log('error: ', res);
        });
        next();
    },

不知道问题描述的详不详细,如果不是很详细(或者哪里有歧义),请评论告诉我,谢谢。

阅读 6.5k
3 个回答

比如你的路由是这样配置:/article/:articleId,可以直接放在 computed

computed: {
    articleId: function() {
           return this.$route.params.articleId;
    }
}

然后在 created 阶段根据参数请求数据

created: function() {
    this.$http({
        url: `http://192.168.1.108:3000${to.path}`, // 在这里直接可以使用 this.articleId
        method: 'get',
    }).then((res) => {
        this.projectDet = res.data;
    }).catch((res) => {
        console.log('error: ', res);
    });
}

你是服务器端路由没有配置好吧?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题