Vue router-link路由不同的写法,不一样的效果

我想要的路径:http://localhost:8080/#/main/hato/realtime/eventDetail/238

情况一:未进行路由配置:
 {
     path: 'eventDetail',
     name: 'eventDetail',
     component: () => import('@/views/security/alarm-management/eventDetail')
}

情况二:已进行路由配置

 {
     path: 'eventDetail/:id',
     name: 'eventDetail',
     component: () => import('@/views/security/alarm-management/eventDetail')
}
在情况一下:

路由用 name和params 
路由跳转:http://localhost:8080/#/main/hato/realtime/eventDetail 

路由用path和query
路由跳转:http://localhost:8080/#/main/hato/realtime/eventDetail?id=238

const showButton = {

  props: ["scope"],
  render: function(h) {
    return (
      <div>
        <router-link to={{name: "eventDetail", params: {id: this.scope.row.id}}}>
          查看详情
        </router-link>
      </div>
    );
  }
};
在情况二下:

路由用 name和params 
路由跳转:http://localhost:8080/#/main/hato/realtime/eventDetail/238

路由用path和query 下面这个路径很奇怪,所以vue在router.js里面有个name属性
路由跳转:http://localhost:8080/#/main/hato/realtime/eventDetail/:id?id=238

const showButton = {
  props: ["scope"],
  render: function(h) {
    return (
      <div>
        <router-link to={{path: "eventDetail/:id", query: {id: this.scope.row.id}}}>
          查看详情
        </router-link>
      </div>
    );
  }
};
总结:query要用path来引入,params要用name来引入
posted @ 2019-11-21 11:21  飓风吟  阅读(572)  评论(0编辑  收藏  举报