访问b-table插槽中的父组件作用域



Im在<b-table>中使用v-slot,以便创建链接。

链接的第一部分包含来自数据源的数据。但是querystring有一个参数,我需要将它包含在链接中。如何获取包含querystring值的数据的作用域,以便将querystring添加到v-slot中的链接?

提前感谢您,Marty

<template>
<div>
<h1>View Users</h1>
Select a user to edit
<b-table striped :items="users">
<template v-slot:cell(id)="data">
<a :href="'/#/admin/user?userId=' + data.value + '&companyId=' + ##HERE## ">{{ data.value }}</a>
</template>
</b-table>
</div>
</template>
export default {
data() {
return {
users: [],
companyId: ""
}
},
methods: {
getUsers() {
var self = this;
self.$client.get('/api/Admin/GetUsers?companyId=' + this.$route.query.companyId).then(response => {
self._data.users = response.data;
});
}
},
mounted() {
this.companyId = this.$route.query.companyId
this.getUsers();
}
}

<a>是传递到<b-table>插槽中的父内容,这意味着它可以访问父数据。因此,您可以直接访问companyId,就像没有<b-table>:一样

<b-table striped :items="users">
<template v-slot:cell(id)="data">
<a :href="'/#/admin/user?userId=' + data.value + '&companyId=' + companyId">
{{ data.value }}
</a>
</template>
</b-table>

对于路由链路,最好使用<router-link>而不是<a>标签:

<router-link :to="{
path: '/admin/user',
query: { userId: data.value, companyId: companyId }
}">
{{ data.value }}
</router-link>

最新更新