最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

通過vue刷新左側菜單欄操作

 更新時間:2020年08月06日 09:08:54   作者:qq_37104276  
這篇文章主要介紹了通過vue刷新左側菜單欄操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

今天完成了手頭任務就想著做點什么,剛好領導讓我看看項目左側菜單欄不刷新的問題,我也是剛剛接觸vue,很多東西都還不是很熟練,這也是我的第一篇自己寫的博客,感覺還是很興奮的,我覺得寫博客這個習慣要一直養(yǎng)成,不但總結了自己一天的工作所得,而且也是對自己的一種良好習慣的養(yǎng)成。

下面進入正題。

這個是我們html里面的超鏈接,而我們的點擊事件的跳轉就是通過這個超鏈接實現的。

<el-menu-item index="3-1"><a href="#/commodity-list" rel="external nofollow" >

然后我們要創(chuàng)建一個js文件,將我們要跳轉的路徑導入

import ChannelList from './src/commodity-manage/channel-list/channel-list'

配置路由管理:

const router = new VueRouter({
 routes: [
 {
   path: '/commodity-list',
   name: 'commodity-list',
   component: commodityStorage,
   children: []
  }
]

path:就是我們要跳轉的路徑

name:跳轉文件的名字

component:配置了映射的組件

在html文件中配置了<router-view/>

<router-view :key="key"></router-view>

是用來渲染通過路由映射過來的組件,當路徑更改時,<router-view> 中的內容也會發(fā)生更改

在js文件中使用computed來進行監(jiān)聽

 //每次讓路由生成不同的值,用于重新加載組件,達到刷新數據的效果
  computed: {
   key() {
     return this.$route.name !== undefined? this.$route.name +new Date(): this.$route +new Date()
   }
  },

補充知識:vue:路由菜單(element 和 antd)

在 vue 中 使用 UI框架中的菜單,給菜單如何添加路由呢?其中會出現路由樣式的問題。請看下面兩種UI方法。

注)使用框架的時候注入知道的吧。。。。。防止有些人xxxx,我還是寫一下。

場景:使用 elementUI 的 NavMenu 時。

這里請注意:可以不使用 router-link,在 e-menu 上面綁定 route 或者 :route = 'true' ,然后遍歷的時候 :index=‘route.path' (:index=‘路徑')。

代碼

<template>
  <div class="menu">
    <el-menu default-active='activePath'
         router
         @open='handleOpen'
         @close='handleClose'
         background-color='#545c64'
         text-color='#fff'
         active-text-color='#ffd04b' >
      <template v-for="(route,index) in routes">
        <!-- 一級菜單 -->
        <el-menu-item :key='index' v-if='route.children && route.children.length== 1' :index='route.path'>
          <i :class="'el-icon-' + route.meta.icon"></i>
          <span>{{route.meta.title}}</span>
        </el-menu-item>
 
        <!-- 二級菜單 -->
        <el-submenu v-if='route.children && route.children.length > 1' :key='index' :index='route.path'>
          <template slot='title'>
            <i :class="'el-icon-' + route.meta.icon"></i>
            {{route.meta.title}}
          </template>
          <el-menu-item-group v-for='(item, index) in route.children'>
            <el-menu-item :key='index' :index='resolve(route.path, item.path)'>
              <i :class="'el-icon-' + item.meta.icon"></i>
              {{item.meta.title}}
            </el-menu-item>
          </el-menu-item-group>
        </el-submenu>
      </template>
    </el-menu>
  </div>
</template>
 
<script>
 
export default {
  name: 'Menu',
  data() {
   return {
     activePath: this.$router.path,
   }
  },
  computed: { // 計算屬性:獲取路由
    routes() {
      console.log('test', this.$router)
      console.log('ddd', this.$router.options.routes)
      return this.$router.options.routes
    },
  },
  methods: {
    resolve(p,i){
     return `${p}/${i}`
    },
    handleOpen(key, keyPath) {
      console.log(key, keyPath);
    },
    handleClose(key, keyPath) {
      console.log(key, keyPath);
    }
  },
}
</script>
 
<style lang='less'>
  .el-menu {
    text-align: left;
  }
</style>

場景:使用 antd 的 Menu 時。

這個里面是需要使用route-link做路由跳轉的。

代碼

<template>
  <div class="menu">
   <a-menu v-model="current" mode="inline" theme="dark">
     <template v-for='route in routes'>
       <!-- 一級菜單 -->
       <a-menu-item v-if='route.children && route.children.length == 1' :key='route.path'>
        <router-link :to='route.path'>
          <a-icon :type='route.meta.icon' />
          {{ route.meta.title }}
        </router-link>
       </a-menu-item>
 
       <!-- 二級菜單 -->
       <a-sub-menu v-else='route.children && route.children.length == 2' key="sub1">
        <span slot="title"><span><a-icon :type='route.meta.icon' />{{ route.meta.title}}</span></span>
        <a-menu-item v-for='item in route.children' :key='item.path'>
          <router-link :to='resolve(route.path,item.path)'>
          <!-- <router-link :to="`${route.path}/${item.path}`"> -->
            <a-icon :type='item.meta.icon' />
            {{ item.meta.title }}
          </router-link>
        </a-menu-item>
       </a-sub-menu>
     </template>
   </a-menu>
  </div>
</template>
 
<script>
 
export default {
  name: 'Menu',
  data() {
   return {
     current: ['/'],
   }
  },
  computed: { // 計算屬性:獲取路由
    routes() {
      console.log('test', this.$router)
      console.log('ddd', this.$router.options.routes)
      return this.$router.options.routes
    },
  },
  methods:{
    resolve(p,i){
     return `${p}/${i}`
    },
  },
}
</script>

以上這篇通過vue刷新左側菜單欄操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • vue中v-show和v-if的異同及v-show用法

    vue中v-show和v-if的異同及v-show用法

    這篇文章主要介紹了vue中v-show和v-if的異同 ,通過代碼詳解v-show用法,本文給大家介紹的非常詳細具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • 通過實例解析vuejs如何實現調試代碼

    通過實例解析vuejs如何實現調試代碼

    這篇文章主要介紹了通過實例解析vuejs如何實現調試代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • 詳解vue數組遍歷方法forEach和map的原理解析和實際應用

    詳解vue數組遍歷方法forEach和map的原理解析和實際應用

    這篇文章主要介紹了詳解vue數組遍歷方法forEach和map的原理解析和實際應用,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 如何防止Vue組件重復渲染的方法示例

    如何防止Vue組件重復渲染的方法示例

    在 Vue.js 中,組件的重復渲染是一個常見的問題,可能會影響應用的性能和用戶體驗,為了提升應用的性能,開發(fā)者需要理解 Vue 的渲染機制,并應用有效的方法來避免不必要的組件重渲染,本文將深入探討如何防止 Vue 組件重復渲染,并提供相關示例代碼,需要的朋友可以參考下
    2024-10-10
  • 詳解vue項目打包后通過百度的BAE發(fā)布到網上的流程

    詳解vue項目打包后通過百度的BAE發(fā)布到網上的流程

    這篇文章主要介紹了將vue的項目打包后通過百度的BAE發(fā)布到網上的流程,主要運用的技術是vue+express+git+百度的應用引擎BAE。需要的朋友可以參考下
    2018-03-03
  • vue2.0 elementUI制作面包屑導航欄

    vue2.0 elementUI制作面包屑導航欄

    本篇文章主要給大家詳細代碼講解了vue2.0 elementUI制作面包屑導航欄的過程,對此有興趣的朋友可以學習下。
    2018-02-02
  • Vue中指令v-model的原理及使用方法

    Vue中指令v-model的原理及使用方法

    v-model是Vue中的一個重要語法糖,主要用于實現數據的雙向綁定,它通過結合value屬性和input事件,簡化了代碼并提高了開發(fā)效率,文中通過代碼介紹的非常詳解,需要的朋友可以參考下
    2024-09-09
  • vue中vant組件樣式失效問題及解決

    vue中vant組件樣式失效問題及解決

    這篇文章主要介紹了vue中vant組件樣式失效問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 在vue.config.js中優(yōu)化webpack配置的方法

    在vue.config.js中優(yōu)化webpack配置的方法

    在日常開發(fā)中我們離不開打包工具webpack,但是不同的配置會影響我們項目的運行構建時間,也會影響打包之后項目包的大小,這篇文章記錄一下我使用過的可以優(yōu)化webpack的配置,需要的朋友可以參考下
    2024-05-05
  • vue.js實現回到頂部動畫效果

    vue.js實現回到頂部動畫效果

    這篇文章主要為大家詳細介紹了vue.js實現回到頂部動畫效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07

最新評論

宁陕县| 双辽市| 曲沃县| 福清市| 白水县| 金华市| 称多县| 卢龙县| 巨野县| 桂东县| 青海省| 遵义市| 衡东县| 金溪县| 永年县| 平塘县| 紫云| 南京市| 鹤峰县| 四会市| 商南县| 临漳县| 清苑县| 永济市| 洪雅县| 鄂托克旗| 虞城县| 三门县| 梧州市| 武宣县| 元谋县| 朝阳区| 宜阳县| 满城县| 东至县| 富裕县| 五原县| 沂水县| 承德县| 玛纳斯县| 通山县|