vue - 一个普通的 link 如何表现得像 <route-link>?
vue - How a normal link could act like <route-link>?
我路由了两个页面:
Home > Results
在 'Home' 中,我有一个 button/link 不在 <route-view/>
中,我希望此按钮重定向到 Results.vue
并传递一个参数。
这个名为 activeTab
的参数必须打开所需的 vue-tabs
,这是我无法完成的,因为它没有从变量中得到任何东西:
代码:
Home.vue
<div class="row">
<Notes refName="Relationship" />
<Notes refName="Support" />
</div>
...
<script>
import Notes from '@/components/Monthlynotes.vue'
export default {
name: 'home',
components: {
Notes
},
</script>
/components/Monthlynotes.vue
<b-card>
<p class="card-text">{{ refName }}</p>
<b-link class="right" :activeTab="refName" href="/results">More</b-link>
</b-card>
...
<script>
export default {
props: {
refName: String,
},
</script>
Results.vue
<vue-tabs type="pills" v-model="tabName">
<v-tab title="Relationship">
<RelDT msg="Results view"/>
</v-tab>
<v-tab title="Support">
<SupDT msg="Results view"/>
</v-tab>
</vue-tabs>
...
<script>
import RelDT from '@/components/DataTable.rel.vue'
import SupDT from '@/components/DataTable.sup.vue'
export default {
name: 'results',
props: {
activeTab: String
},
components:
{
RelDT,
SupDT,
},
data() {
return {
tabName: activeTab
}
}
}
</script>
App
<router-link :to="{name:'results', param:{activeTab}}">Results</router-link>
如果这条 <b-link>
路线是 <route-link />
,我该如何制作?
甚至 b-link
组件也支持 :to
属性。待找到 here
属性 的值将传递给 router.push()
.
<b-link :to="{name:'results', param:{activeTab}}">Redirect me</b-link>
我路由了两个页面:
Home > Results
在 'Home' 中,我有一个 button/link 不在 <route-view/>
中,我希望此按钮重定向到 Results.vue
并传递一个参数。
这个名为 activeTab
的参数必须打开所需的 vue-tabs
,这是我无法完成的,因为它没有从变量中得到任何东西:
代码:
Home.vue
<div class="row"> <Notes refName="Relationship" /> <Notes refName="Support" /> </div> ... <script> import Notes from '@/components/Monthlynotes.vue' export default { name: 'home', components: { Notes }, </script>
/components/Monthlynotes.vue
<b-card> <p class="card-text">{{ refName }}</p> <b-link class="right" :activeTab="refName" href="/results">More</b-link> </b-card> ... <script> export default { props: { refName: String, }, </script>
Results.vue
<vue-tabs type="pills" v-model="tabName"> <v-tab title="Relationship"> <RelDT msg="Results view"/> </v-tab> <v-tab title="Support"> <SupDT msg="Results view"/> </v-tab> </vue-tabs> ... <script> import RelDT from '@/components/DataTable.rel.vue' import SupDT from '@/components/DataTable.sup.vue' export default { name: 'results', props: { activeTab: String }, components: { RelDT, SupDT, }, data() { return { tabName: activeTab } } } </script>
App
<router-link :to="{name:'results', param:{activeTab}}">Results</router-link>
如果这条 <b-link>
路线是 <route-link />
,我该如何制作?
甚至 b-link
组件也支持 :to
属性。待找到 here
属性 的值将传递给 router.push()
.
<b-link :to="{name:'results', param:{activeTab}}">Redirect me</b-link>