在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue + elementUi 導(dǎo)航組件,在進(jìn)入子路由時(shí)怎樣保持導(dǎo)航的激活狀態(tài)

vue + elementUi 導(dǎo)航組件,在進(jìn)入子路由時(shí)怎樣保持導(dǎo)航的激活狀態(tài)

如果我想實(shí)現(xiàn)從url跳到添加頁(yè)時(shí) 媒體列表導(dǎo)航激活,該怎么操作???效果如圖
圖片描述

相關(guān)代碼如下,現(xiàn)在可以實(shí)現(xiàn)導(dǎo)航中顯示的列表頁(yè)面從url中進(jìn)入時(shí)激活,
圖片描述

回答
編輯回答
遺莣

這個(gè)有兩種做法
1.自己維護(hù)一個(gè) 菜單與 uri的 映射關(guān)系,例如 /user/list=[/user/list,/user/add,/user/edit] ,然后再路由變化的時(shí)候, 跟據(jù)這個(gè)映射關(guān)系,決定應(yīng)該高亮哪個(gè)菜單。
2.添加頁(yè)面不要跳轉(zhuǎn)新的uri ,把添加的頁(yè)面封裝成一個(gè)組件,然后用dialog 顯示出來(lái)。這樣就不存在你說的那種問題。(我就是這么做的)。

2017年1月3日 10:53
編輯回答
悶騷型

首先你需要一個(gè)watch隨時(shí)改變路由名稱

watch: {
  '$route'(to, from) {
    this.menu = to.name // data中放置一個(gè)default-active的綁定數(shù)據(jù)
  }
}

如果發(fā)現(xiàn)不生效,可能需要使用命名路由的一些小特效

完整的參考

<script>
  export default {
    name: "TopMenu",
    data() {
      return {
        // 為了能夠根據(jù)路由自動(dòng)選中
        menu: this.$route.name ? this.$route.name : "XXX",
        menus: [
          {
            name: "AASS",
            index: "X3"
          },
          {
            name: "AAA",
            index: "X2"
          },
          {
            name: "XXX",
            index: "X1"
          }
        ]
      }
    },
    methods: {
      handleSelect(key, keyPath) {
        this.$router.push({name: key, params: {activityId: "0"}})
      }
    },
    watch: {
      '$route'(to, from) {
        this.menu = to.name
      }
    }
  }
</script>
2017年9月6日 05:13