vue.js - 向 v-card 中的 Vuetify 按钮添加路由?
问题描述
这应该是一个简单的修复,但不知道从哪里开始。
我有..
<template>
<div class="mx-5 mb-5 Weapons">
<h1 class="green--text">Weapons</h1>
<v-container class="my-5">
<v-layout row wrap>
<v-flex xs12 s6 m4 lg3 v-for="weapon in assaultrifles" :key="weapon.weapontype">
<v-card class="text-md-center ma-3 black">
<v-responsive class="pt-4">
<v-img contain :src="weapon.images"></v-img>
</v-responsive>
<v-card-title class="justify-center">
<div class="heading font-weight-black white--text">{{ weapon.WeaponType}}</div>
</v-card-title>
<v-card-actions class="justify-center">
<v-btn flat class="green black--text ma-3">View Weapons</v-btn>
</v-card-actions>
</v-card>
</v-flex>
</v-layout>
</v-container>
</div>
</template>
然后,我在数组中有这些卡片的图像和“标题”数据。我有大约 8 张卡片,每张卡片代表自己的“类别”,由数组中的“标题”数据表示。
我想要做的是,如果我点击类别/标题为“手枪”的卡片或点击卡片“步枪”,我将被引导到一个新页面,在那里我列出了该特定类别的项目..但是我不确定从哪里开始,因为我只是将 {{weapon.WeaponType}} 传递给 1 个卡片对象,然后在所有卡片上使用 1 个按钮(带有文本“查看武器”)。
我的理解是,如果我为我制作的 1 按钮制作路线,那么所有按钮的路线都是相同的,尽管卡片代表自己的类别,这很糟糕,因为我不想看到“手枪”当我单击“shotgun”卡的按钮时。
我想以某种方式保持我当前的结构(使用 1 个对象并传递一个数据循环)和 1 个 btn,以便我的代码保持相同的长度/结构)。
谢谢阅读。
解决方案
您将需要对象中的其他属性 - 对于按钮的路线:
<v-btn
flat
class="green black--text ma-3"
:to="weapon.route"
>
View Weapons
</v-btn>
weapon.route
可以是字符串或对象。
另一种选择是仅提供类别 ID,然后
<v-btn
flat
class="green black--text ma-3"
:to="{name: 'weaponItems', params: {categoryID: weapon.categoryID}}"
>
View Weapons
</v-btn>
推荐阅读
- regex - 谷歌表格过滤器
- sql-server - 如何删除字符串字段中的空格并插入浮点数据类型?
- mysql - mysql插入带动态查询,只需要在db中一一插入
- python - 如何在 windows10 中创建符号链接,如在 linux 中创建符号链接
- python - 使用 MechanicalSoup 和 Python 脚本登录后如何打开浏览器?
- python-3.x - 如何在 python 中使用 xpath 或 css 选择器提取时间标签中 datetime 属性的值?
- python - 在Python列表中替换熊猫数据框列中的字符串值
- php - 在核心 php 中声明和使用全局变量的行为与在 codeigniter 中的行为不同
- oracle - oracle和Pandas数据框的轮函数输出不同
- javascript - 不显示数组验证中对象的所有元素,只显示javascript中元素的最后一个变量