【问题标题】:Passing props to<nuxt-link> or pass hidden data to router but not using parameters将道具传递给 <nuxt-link> 或将隐藏数据传递给路由器但不使用参数
【发布时间】:2019-07-27 03:46:34
【问题描述】:

目前,我正在为我的网络应用程序使用 nuxt 和 vue 路由。

在我看来,我的链接是这样的: &lt;nuxt-link :to="'/article/' + article.id"&gt;

随后,我在我的文章页面上使用此文章 ID,通过从 URL 请求参数来发出我的 API 请求: ${params.id}

这很好,但我的 URL 最终是这样的:article/1 但我想开始使用用户友好的 URL,例如 article/this-is-my-article,但我仍然需要传递文章 ID。

有没有办法通过道具将此 ID 传递给 nuxt-link,或者是否有任何其他方法可以将此 ID 传递为“不可见”,以便我可以使用它来进行 API 调用?

【问题讨论】:

  • 您找到了可行的解决方案吗?

标签: javascript vue.js nuxt.js


【解决方案1】:

你可以使用带有参数的 $router 而不是 nuxt-link 来做你想做的事,我想。 这是我的建议。

<div@click="$router.push({name:'[goal name]', params:{[params]}})" >View All History</div>

此处为示例。

<div @click="$router.push({name:'view_tables-display_reports', params:{id:'pie'}})" >View All History</div>

【讨论】:

  • 感谢您的评论!我试过了,它把 id 添加到我的 URL 中!所以这很好!我真的不想在我的网址中使用 id 但我想没有其他选择
  • 好的!但在我这边,参数不包含在我的 URL 中!
  • 当目标是切换到其他页面时,为什么不使用 呢?链接就是为此而生的。
【解决方案2】:

我建议在你的表中创建一个新字段而不是 id 并使用 unique() 将其命名为 slug 然后使用它作为标识符,这样它会更加用户友好。

【讨论】:

    猜你喜欢
    • 2020-04-15
    • 2022-01-13
    • 2023-03-20
    • 1970-01-01
    • 2023-04-03
    • 2023-03-31
    • 2015-10-15
    • 1970-01-01
    • 2019-03-03
    相关资源
    最近更新 更多