欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用vue-router實(shí)現(xiàn)二級菜單內(nèi)容轉(zhuǎn)換

 更新時(shí)間:2016年11月30日 16:45:24   作者:傲嬌的黃同學(xué)  
這篇文章主要介紹了如何利用vue-router實(shí)現(xiàn)二級菜單內(nèi)容轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

二級菜單導(dǎo)航是一種很普遍的功能,一般網(wǎng)頁都會有這個(gè)功能。如果是平常的做法就是改變url,跳到相應(yīng)的頁面;還有一種就是frame。
如果用vue的話,可以用vue-router改變<router-view>里面的組件,這樣就能做到不刷新頁面都能跳到相應(yīng)“頁面”。其實(shí)url地址還是變了,但是他沒有刷新頁面其他位置的內(nèi)容,只是改變了<router-view>里面的組件,渲染了新的組件。
在線demo:http://runjs.cn/code/9th3cgxo

html

使用 Vue.js 時(shí),我們就已經(jīng)把組件組合成一個(gè)應(yīng)用了,當(dāng)你要把 vue-router 加進(jìn)來,只需要配置組件和路由映射,然后告訴 vue-router 在哪里渲染它們。

<div id="app">
 <div class="leftBox">
 <!-- 使用 router-link 組件來導(dǎo)航. -->
 <!-- 通過傳入 `to` 屬性指定鏈接. -->
 <!-- <router-link> 默認(rèn)會被渲染成一個(gè) `<a>` 標(biāo)簽 -->
 <ul>
 <li><router-link to="/" actived>首頁</router-link></li>
 <li><router-link to="/article">文章</router-link></li>
 <li><router-link to="/picture">圖片</router-link></li>
 <li><router-link to="/music">音樂</router-link></li>
 </ul>
 </div>
 <div class="rightBox">
 <!-- 路由出口 -->
 <!-- 路由匹配到的組件將渲染在這里 -->
 <router-view></router-view>
 </div>
</div>

js

定義路由。每個(gè)路由應(yīng)該映射一個(gè)組件。 其中”component” 可以是組件等。 創(chuàng)建和掛載根實(shí)例。記得要通過 router 配置參數(shù)注入路由,從而讓整個(gè)應(yīng)用都有路由功能

var Home = {template: '<div>home</div>'}

var router = new VueRouter({
 routes: [
 {path: '/', component: Home},
 {path: '/picture', component: Picture},
 {path: '/music', component: Music},
 {path: '/article', component: Artlist},
 {path: '/article/:id', component: Article}
 ]
})
new Vue({
 el: "#app",
 router: router
})

切換到了文章部分時(shí),我又弄了個(gè)文章列表,點(diǎn)擊文章標(biāo)題才進(jìn)入文章內(nèi)容。

  • 這里我寫死了數(shù)據(jù),實(shí)際可以通過ajax拿到數(shù)據(jù)賦值。
  • 我模擬了loading…,根據(jù)數(shù)據(jù)驅(qū)動的思維,通過v-if="loading"來判斷這個(gè)loading是否出現(xiàn)。
  • 動畫切換記得要指定不同的key,不然是沒有效果的。
  • 創(chuàng)建和改變路由的時(shí)候,都要通過傳遞url的參數(shù)去一個(gè)方法拿到數(shù)據(jù),這里就要createdwatch '$route'
  • 拿url參數(shù)是通過$route.params或$route.query等,具體看教程
  • 返回上一級是用router.go(-1),相當(dāng)于按退回按鈕
var Article = {
 template: '<div class="post">\
 <div class="loading" v-if="loading">loading.....</div>\
 <transition name="slide">\
 <div v-if="post" class="content" :key="post.id">\
 <button @click="back">返回</button>\
 <p>{{post.title}}</p>\
 <P>{{post.body}}</P>\
 </div>\
 </transition>\
 </div>',
 data: function() {
 return {
 loading: false,
 error: null,
 post: null
 }
 },
 created:function() {
 this.fetchData();
 },
 watch: {
 '$route': 'fetchData'
 },
 methods: {
 fetchData:function () {
 this.error = this.post = null;
 this.loading = true;
 getPost(this.$route.params.id,(err,post) => {
 this.loading = false;
 if(err) {
 this.error = err.toString();
 }else {
 this.post = post
 }
 })
 },
 back: function() {
 router.go(-1);
 }
 }
}

本文已被整理到了《Vue.js前端組件學(xué)習(xí)教程》,歡迎大家學(xué)習(xí)閱讀。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 腳手架vue-cli工程webpack的作用和特點(diǎn)

    腳手架vue-cli工程webpack的作用和特點(diǎn)

    webpack是一個(gè)模塊打包的工具,它的作用是把互相依賴的模塊處理成靜態(tài)資源。這篇文章主要介紹了vue-cli工程webpack的作用和特點(diǎn),需要的朋友可以參考下
    2018-09-09
  • Vue之修改數(shù)據(jù)頁面不更新的問題

    Vue之修改數(shù)據(jù)頁面不更新的問題

    這篇文章主要介紹了Vue之修改數(shù)據(jù)頁面不更新的問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Vue3中引入scss文件的方法步驟

    Vue3中引入scss文件的方法步驟

    這篇文章主要給大家介紹了關(guān)于Vue3中引入scss文件的方法步驟,在實(shí)際項(xiàng)目中,各種樣式往往有很多重復(fù)的情況,為了能夠使樣式的后續(xù)開發(fā)和維護(hù)更加愜意,將這些共同的代碼進(jìn)行命名然后調(diào)用這些變量是一個(gè)很好的選擇,需要的朋友可以參考下
    2023-08-08
  • vue中項(xiàng)目頁面空白但不報(bào)錯(cuò)產(chǎn)生的原因及分析

    vue中項(xiàng)目頁面空白但不報(bào)錯(cuò)產(chǎn)生的原因及分析

    這篇文章主要介紹了vue中項(xiàng)目頁面空白但不報(bào)錯(cuò)產(chǎn)生的原因及分析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue 如何使用vue-cropper裁剪圖片你知道嗎

    vue 如何使用vue-cropper裁剪圖片你知道嗎

    這篇文章主要為大家介紹了vue 使用vue-cropper裁剪圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • vue自定義封裝按鈕組件

    vue自定義封裝按鈕組件

    這篇文章主要為大家詳細(xì)介紹了vue自定義封裝按鈕組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue-cli3 取消eslint校驗(yàn)代碼的解決辦法

    vue-cli3 取消eslint校驗(yàn)代碼的解決辦法

    這篇文章主要介紹了vue-cli3 取消eslint校驗(yàn)代碼的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • vue中render函數(shù)的使用詳解

    vue中render函數(shù)的使用詳解

    這篇文章主要介紹了vue中render函數(shù)的使用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-10-10
  • vue選項(xiàng)卡Tabs組件實(shí)現(xiàn)示例詳解

    vue選項(xiàng)卡Tabs組件實(shí)現(xiàn)示例詳解

    這篇文章主要為大家介紹了vue選項(xiàng)卡Tabs組件實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • vue利用全局導(dǎo)航守衛(wèi)作登錄后跳轉(zhuǎn)到未登錄前指定頁面的實(shí)例代碼

    vue利用全局導(dǎo)航守衛(wèi)作登錄后跳轉(zhuǎn)到未登錄前指定頁面的實(shí)例代碼

    這篇文章主要介紹了vue利用全局導(dǎo)航守衛(wèi)作登錄后跳轉(zhuǎn)到未登錄前指定頁面,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05

最新評論