首页 > 解决方案 > vue - 普通链接的行为方式?

问题描述

我有两个页面路由:

Home > Results

在“主页”内,我有一个不在其中的按钮/链接,<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 />

标签: javascriptvue.jsvue-clivue-cli-3

解决方案


甚至b-link组件也支持该:to属性。在这里可以找到 该属性的值将被传递给router.push().

<b-link :to="{name:'results', param:{activeTab}}">Redirect me</b-link>

推荐阅读