Ссылка на роутер Vue.js не работает в Firefox - PullRequest
0 голосов
/ 01 июля 2018

У меня есть этот компонент кнопки:

    <button :class="classes" v-on="$listeners" v-bind="$attrs">
    <template v-if="to">
      <router-link :to="to" class="flex center-v">
        <AqIcon :icon="icon" v-if="icon" />
        <slot></slot>
      </router-link>

    </template>
    <template v-else>
      <AqIcon :icon="icon" v-if="icon" />
      <slot></slot>
    </template>

  </button>

Может принимать :to проп, и в этом случае я использую ссылку на маршрутизатор, а не просто текст.

Когда я использую это так:

<AqButton primary icon="plus" :to="{name:'editUser',params:{id:'new'}}">
     Add User
</AqButton>

В chrome он работает нормально, но в FF URL меняется, но остается на той же странице.

1 Ответ

0 голосов
/ 01 июля 2018

Так что, очевидно, это не сработает, если вы вложите ссылку на маршрутизатор в элемент кнопки.

Итак, я изменил свой компонент, чтобы он выглядел так:

<template>
  <router-link v-if="to" :to="to" :class="classes" v-on="$listeners" v-bind="$attrs">
    <AqIcon :icon="icon" v-if="icon" />
    <slot></slot>
  </router-link>

  <button v-else :class="classes" v-on="$listeners" v-bind="$attrs">
    <AqIcon :icon="icon" v-if="icon" />
    <slot></slot>
  </button>

</template>

И теперь это работает.

...