javascript - 我正在尝试使用第一个视图中的路由器链接按钮中的 id 数据填充第二个视图。不确定我是否应该通过 BaseURL
问题描述
有没有办法通过 id 通过 URL 实现这一点?以及如何设置第二页上填充的信息仅由该 ID 号?有一个重大的脑死亡时刻
<div v-for="prize in prizes" :key="prize.name">
<div class="card_individual">
<div class="card-media-container">
<img class="card_image" src="../assets/c5Cor.jpg" alt="people"/></div>
<div class="card-detail-container">
<div class="card_title">Win a {{ prize.name }}</div>
</div>
<div class="modal-footer">
<router-link :to="{ name: 'PriceDetail'}"><button type="button" class="btn btn-primary">{{ cards.btn_text }}</button></router-link>
</div>
</div>
</div>
<script>
import axios from 'axios'
export default {
name: 'Prizes',
data () {
return {
prizes: [],
}
},
mounted () {
this.getPrizes()
},
methods: {
getPrizes () {
axios.get('http://localhost:3000/prizes').then(response => {
this.prizes = response.data.prizes
this.id = response.data.prizes.id
})
}
}
}
解决方案
您需要将 id 作为道具传递,以便第二个视图可以使用不同的 API 调用通过 id 检索奖品(价格?)。详细视图应如下所示:
props: {
prizeId: Number
},
data () {
return {
prize: {},
}
},
mounted () {
this.getPrizeById()
},
methods: {
getPrizeById() {
axios.get('http://localhost:3000/prizebyid/' + this.prizeId).then(response => {
this.prize = response.data.prize
})
}
}
您可以像这样在主列表中的 router-link 中传递该 id 属性:
<router-link :to="{ name: 'PriceDetail', params: { prizeId: prize.id }}">
这会将 id 作为路由路径的一部分(称为参数)传递。只需确保路由的路由定义PriceDetail
需要参数,并将它们转换为道具(使用props: true
),您可以这样做:
{ path: '/<your-path>/:prizeId', name: 'PriceDetail', props: true }
并且您需要确保您的后端配置为在访问http://localhost:3000/prizebyid/1000 之类的路由时提供个人数据。
如果你想让它更流畅,你可以在访问 http://localhost:3000/prizes 时提供所有结果,在访问http://localhost :3000/prizes/1000时提供单个结果,使用prizes
两者的路由。为了清楚起见,我只是prizebyid
在示例中使用了路由,因为一开始在后端配置可能更容易。
推荐阅读
- python - 如何在 Python 上打开文件和应用程序
- r - Gcross theo-value 是否假设两个标记点模式都是随机分布的?
- arm - 直接从汇编语言访问性能计数器的 ARMv7 指令
- dynamic-programming - 目标总和 [leetcode] 通过分配符号计算具有给定目标总和的子集
- mongodb - 删除没有内容的记录
- javascript - Angular Typescript:Swagger CodeGen Generator 使所有类属性为 Nullable
- java - 使用 Java 查找区域的标准时间名称
- python - Dask Dataframe 高效行对生成器?
- chromium - 无头铬 - 在从命令行打印到 pdf 之前解析 javascript
- python - 为 Python 编写了二进制搜索算法,包括递归和迭代版本。你如何判断他们的效率?