button點(diǎn)擊后改變路由

一個(gè)bug送給有緣人:
場(chǎng)景:

由于自己寫(xiě)的以及element-ui的button樣式效果不夠優(yōu)秀,于是從網(wǎng)上down了一個(gè)效果極佳的button組件,但是 每點(diǎn)擊一下button,都會(huì)導(dǎo)致我的路由上多了一個(gè)?號(hào)
點(diǎn)擊前:


0.png

點(diǎn)擊后:


1.png

檢查代碼都沒(méi)有任何問(wèn)題,代碼如下:

// main.js
import MButton from '@/components/button'
Vue.use(MButton);
// @/components/button/button.vue
<template>
  <button type="button" class="m-button"
          @click="handleClick"
          :disabled="disabled"
          :class="[
      type && 'm-button-' + type,
      size && 'm-button-' + size,
      {
        'm-button-type-plain': plain,
        'm-button-rounded': round,
        'm-button-block': block,
        'active': active,
        'clicked': (effect && clicked && !active)
      }
    ]"
  >
    <slot></slot>
  </button>
</template>
handleClick() {
   this.$emit('click')
}
// @/components/button/index.js
import MButton from './button'

MButton.install = function (Vue) {
  Vue.component(MButton.name, MButton)
}

export default MButton

最后才發(fā)現(xiàn),是由于button有一個(gè)默認(rèn)的submit事件,雖然不知道改變路由的原理是什么,但是知道是因?yàn)檫@個(gè)submit事件導(dǎo)致的,接下來(lái)只要去掉這個(gè)submit事件就好了

// 加上type='button' 就好了
<button type="button">
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 6,510評(píng)論 0 17
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 27,632評(píng)論 1 45
  • 之前在Sencha Cmd創(chuàng)建Ext JS示例項(xiàng)目演示了用Sencha Cmd來(lái)創(chuàng)建一個(gè)Login示例。在這里會(huì)演...
    寫(xiě)意悠悠閱讀 8,919評(píng)論 4 24
  • 前端開(kāi)發(fā)面試題 面試題目: 根據(jù)你的等級(jí)和職位的變化,入門(mén)級(jí)到專(zhuān)家級(jí),廣度和深度都會(huì)有所增加。 題目類(lèi)型: 理論知...
    怡寶丶閱讀 2,606評(píng)論 0 7
  • 本節(jié)介紹各種常見(jiàn)的瀏覽器事件。 鼠標(biāo)事件 鼠標(biāo)事件指與鼠標(biāo)相關(guān)的事件,主要有以下一些。 click 事件,dblc...
    許先生__閱讀 2,494評(píng)論 0 4