在组件函数中使用Vue动态路由名称

时间:2016-06-19 18:55:02

标签: javascript vue.js vue-router

我一直试图用Vue和Laravel进行动态视图渲染。但是,我无法理解我应该如何将动态参数解析为组件函数。

Router.map({
    '/cms-admin/:page': {
        component: {
            template: returnView(this.$route.params.page)
        }
    }
});

function returnView (option) {
    // Generate the AJAX request here
}

通过我已阅读过的文件,$ route应解决问题。我可以将$ route解析到视图中,并在页面上打印文本。但是,我不能在地图中使用$ route来获取动态名称?

说,我输入" / cms-admin / dashboard",'仪表板'应该被解析为模板参数。

提前致谢, 史蒂芬

1 个答案:

答案 0 :(得分:5)

  1. 将页面的各个模板注册为partials v1 v2
  2. 使用<partial>$route
  3. JS:

    component: {
      template: '<partial :name="partial" v-if="partial !== ''"></partial>',
      data() { return { partial: '' } },
      ready() { this.partial = this.$route.params.page},
    }
    

    注意:不确定您是否可以访问this.$route中的data(),因此我使用了ready()事件,但也许您可以将其删除并直接放入data()