【问题标题】:vue - How a normal link could act like <route-link>?vue - 普通链接如何像 <route-link> 一样工作?
【发布时间】:2019-05-01 17:42:45
【问题描述】:

我有两个页面被路由:

Home &gt; Results

在“主页”内,我有一个不在 &lt;route-view/&gt; 中的按钮/链接,我希望此按钮重定向到 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>

如果&lt;b-link&gt;&lt;route-link /&gt;,我该如何创建这条路由?

【问题讨论】:

    标签: javascript vue.js vue-cli vue-cli-3


    【解决方案1】:

    即使是b-link 组件也支持:to 属性。待发现here 该属性的值将被传递给router.push()

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-06
      • 2021-11-30
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      • 2016-11-17
      • 2017-12-07
      • 2021-10-19
      相关资源
      最近更新 更多