重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
開始切入正題之前,有必要告知大家一下,這篇文章可能有一些深度,初學(xué)者可能理解會有些吃力。我會盡量把復(fù)雜問題簡單化,爭取讓每個閱讀的童鞋們都能看得懂。希望你對element-ui,vue-router,KeepAlive組件有一點了解?,F(xiàn)在,我們開始吧。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),巴馬企業(yè)網(wǎng)站建設(shè),巴馬品牌網(wǎng)站建設(shè),網(wǎng)站定制,巴馬網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,巴馬網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
熟悉element-ui的童鞋們都知道,ElMenuItem和ElSubMenu都需要一個index屬性,該屬性必須是唯一的?,F(xiàn)在,我們想把路由配置直接應(yīng)用于ElMenu,該如何確保index的唯一性呢?我們需要有一個生成唯一index的函數(shù)。如下是genKey函數(shù)的定義,是不是很簡單?
現(xiàn)在,我們創(chuàng)建addRouteMetaKey函數(shù),該函數(shù)對路由樹進行遞歸遍歷,為每一個路由配置的meta屬性動態(tài)添加key字段。這個函數(shù)很簡單,屬于最基礎(chǔ)的遞歸使用例子,我就不做太多解釋了。
提示 :數(shù)組的forEach方法不是純函數(shù),因為它有副作用,所以forEach方法不能稱之為函數(shù)式編程工具。
通過addRouteMetaKey函數(shù),我們可以把路由的meta.key作為index的值了。
現(xiàn)在,我們想實現(xiàn)另一個功能,就是 基于標(biāo)簽頁的路由組件緩存控制 。使用過Vuejs KeepAlive組件的童鞋們,應(yīng)該多多少少都遇到一些坑吧?在我們的項目中,有一個頂部標(biāo)簽頁導(dǎo)航,每個tab項對應(yīng)一個url,以每個url對應(yīng)路由的title作為tab項標(biāo)題,當(dāng)切換tab的時候加載緩存中的url對應(yīng)的路由組件,關(guān)閉tab項,下次打開該路由url,重新掛載對應(yīng)的路由組件,而不是從緩存中加載。
當(dāng)路由層級不確定的時候,KeepAlive會變的難以手動控制。所以,我 劍走偏鋒,嘗試了一種簡單的解決方案 ,實踐證明: 這是非常有效的 。我的方案就是把無限層級的路由樹轉(zhuǎn)化為一維數(shù)組。通過為meta添加必要的字段,進行頁面結(jié)構(gòu)個性化定制。
我們需要把每層路由配置的path轉(zhuǎn)化為全路徑,所以需要一個函數(shù):getRouteFullPath,該函數(shù)定義如下:
getRouteFullPath函數(shù)中使用到的joinPath函數(shù)用于將多個路徑字符串拼接為1個完整的路徑,定義如下:
現(xiàn)在,我們把路由樹轉(zhuǎn)化為一維數(shù)組。我們定義toFlatRoutes函數(shù),該函數(shù)使用了數(shù)組的reduce方法對路由樹進行聚合遞歸,將路由配置中的path屬性的值替換為全路徑,還順便給路由配置添加了name屬性,返回一個新的一維路由配置數(shù)組。 這是函數(shù)式編程和遞歸結(jié)合的一個例子。
以上,我們解決了KeepAlive的緩存控制問題;現(xiàn)在,我們又有了一個新的用戶體驗上的需求,就是我們想根據(jù)url對應(yīng)的路由,自動展開該路由meta.key所屬的側(cè)邊菜單;我們通過查閱element-ui文檔得知,ElMenu有一個open方法,接收index作為參數(shù),展開index對應(yīng)的菜單。
現(xiàn)在的問題是,我們的路由對應(yīng)的index是ElMenuItem的,而路由樹已經(jīng)被我們轉(zhuǎn)化為了一維數(shù)組,通過路由的matched字段是得不到我們想要的菜單index的。所以, 我們需要遍歷原始路由樹 。
如下代碼,我們定義getMenuKey函數(shù),該函數(shù)接收的參數(shù)為route對象。如果路由存在,我們進行查找。首先進行簡單查找,如果找到一個菜單menu,則返回該菜單的meta.key;如果簡單查找無果,則對路由樹進行遞歸查找; 這是函數(shù)式編程和遞歸結(jié)合的另一個例子。
現(xiàn)在,我們大功告成了;以上就是本節(jié)的知識點,童鞋們理解了嗎?只要我們熟悉遞歸的使用,其實操作樹很簡單。如果大家還有不懂的,可以評論區(qū)問我。感謝閱讀!
vue.js路由使用方法:vue1.0的方法
html
a?href="#"?v-link="{path:'/login'}"登陸/a
router-view/router-view//內(nèi)容顯示的
script
//1、準(zhǔn)備一個根組件
var?App?=?Vue.extend();
//2、準(zhǔn)備組件
var?Login?=?Vue.extend({
template:{h3登陸頁面/h3}
});
//3、準(zhǔn)備路由
var?router?=?new?vueRouter();
//4、關(guān)聯(lián)組件和路徑
router.map({
'login':{
component:Login???//組件名稱
}
});
//5、啟動路由
router.start(App,'#box');
//6、默認跳轉(zhuǎn)頁面(不是必須)
router.redirect({'/':'login'});
/script
/html
[img]你的路由器是通過IE來進行設(shè)置的,路由器設(shè)置的頁面中有javasript腳本,進IE的internet選項,把javasript支持選中,還不行的話建議用windows自帶的瀏覽器進行設(shè)置.
Vue.js 2.0 vue-router路由器設(shè)置方法步驟如下:
1、首先把電源接通,然后插上網(wǎng)線,進線插在wan口,然后跟電腦連接的網(wǎng)線就隨便插一個lan口。
2、連接好無線路由器后,在電腦瀏覽器地址欄輸入在路由器IP地址:192.168.1.1。
3、連接后會看到輸入相應(yīng)的登陸用戶名:admin,密碼:admin。
4、進入操作界面,點擊設(shè)置向?qū)А?/p>
5、進入設(shè)置向?qū)У慕缑妫x擇進入上網(wǎng)方式設(shè)置。
6、點擊下一步,進入上網(wǎng)方式設(shè)置,可以看到有三種上網(wǎng)方式。如果是撥號的話那么就用PPPoE。動態(tài)IP一般電腦直接插上網(wǎng)絡(luò)就可以用的,上層有DHCP服務(wù)器的。靜態(tài)IP一般是專線什么的,也可能是小區(qū)帶寬等,上層沒有DHCP服務(wù)器的,或想要固定IP的。
7、選擇PPPOE撥號上網(wǎng)就要填上網(wǎng)帳號和密碼。
8、然后點擊下一步后進入到的是無線設(shè)置,可以看到信道、模式、安全選項、SSID等等,一般SSID就是一個名字,可以隨便填,然后模式大多用11bgn.無線安全選項,要選擇wpa-psk/wpa2-psk,這樣安全,免得輕意讓人家破解而蹭網(wǎng)。點擊下一步就設(shè)置成功。
9、點擊完成,路由器會自動重啟,屆時就完成了路由器設(shè)置工作。
ajax中的url換成'/list'試試,
我覺得你那并沒有響應(yīng)'/test/list'的邏輯啊
angularjs路由是指一款用angularjs前端語言設(shè)計出程序和框架的路由器
1.AngularJS誕生于2009年,由Misko Hevery 等人創(chuàng)建,后為Google所收購。是一款優(yōu)秀的前端JS框架,已經(jīng)被用于Google的多款產(chǎn)品當(dāng)中。AngularJS有著諸多特性,最為核心的是:MVVM、模塊化、自動化雙向數(shù)據(jù)綁定、語義化標(biāo)簽、依賴注入等等。
2.路由器(Router),是連接因特網(wǎng)中各局域網(wǎng)、廣域網(wǎng)的設(shè)備,它會根據(jù)信道的情況自動選擇和設(shè)定路由,以最佳路徑,按前后順序發(fā)送信號。 路由器是互聯(lián)網(wǎng)絡(luò)的樞紐,"交通警察"。目前路由器已經(jīng)廣泛應(yīng)用于各行各業(yè),各種不同檔次的產(chǎn)品已成為實現(xiàn)各種骨干網(wǎng)內(nèi)部連接、骨干網(wǎng)間互聯(lián)和骨干網(wǎng)與互聯(lián)網(wǎng)互聯(lián)互通業(yè)務(wù)的主力軍。路由和交換機之間的主要區(qū)別就是交換機發(fā)生在OSI參考模型第二層(數(shù)據(jù)鏈路層),而路由發(fā)生在第三層,即網(wǎng)絡(luò)層。這一區(qū)別決定了路由和交換機在移動信息的過程中需使用不同的控制信息,所以說兩者實現(xiàn)各自功能的方式是不同的。
3.路由器(Router)又稱網(wǎng)關(guān)設(shè)備(Gateway)是用于連接多個邏輯上分開的網(wǎng)絡(luò),所謂邏輯網(wǎng)絡(luò)是代表一個單獨的網(wǎng)絡(luò)或者一個子網(wǎng)。當(dāng)數(shù)據(jù)從一個子網(wǎng)傳輸?shù)搅硪粋€子網(wǎng)時,可通過路由器的路由功能來完成。因此,路由器具有判斷網(wǎng)絡(luò)地址和選擇IP路徑的功能,它能在多網(wǎng)絡(luò)互聯(lián)環(huán)境中,建立靈活的連接,可用完全不同的數(shù)據(jù)分組和介質(zhì)訪問方法連接各種子網(wǎng),路由器只接受源站或其他路由器的信息,屬網(wǎng)絡(luò)層的一種互聯(lián)設(shè)備。