vue router提供來做 路由出口,渲染路徑匹配到的檢視元件。
渲染的元件還可以內嵌自己的
,根據巢狀路徑,渲染巢狀元件。
路由檔案中:
const router =
newvuerouter(,
]})
有時候想同時 (同級) 展示多個檢視,而不是巢狀展示,例如建立乙個布局,有sidebar
(側導航) 和main
(主內容) 兩個檢視,這個時候命名檢視就派上用場了。你可以在介面中擁有多個單獨命名的檢視,而不是只有乙個單獨的出口。如果router-view
沒有設定名字,那麼預設為default
。
class
="view one"
>
router-view
>
class
="view two"
name
="a"
>
router-view
>
class
="view three"
name
="b"
>
router-view
>
乙個檢視使用乙個元件渲染,因此對於同個路由,多個檢視就需要多個元件。確保正確使用components
配置 (帶上 s):
const router =
newvuerouter(}
]})
巢狀命名檢視:
我們也有可能使用命名檢視建立巢狀檢視的複雜布局。這時你也需要命名用到的巢狀router-view
元件。
>
>
user settingsh1
>
/>
/>
name
="helper"
/>
div>
,}
]}
通過this,$router
訪問路由器,或訪問當前路由。
$route.params
模式匹配路徑
$route.params
/user/:username
/user/evan
/user/:username/post/:post_id
/user/evan/post/123
$route.query
$route.hash
$route.name
當前路由的名稱,如果有的話。
有時候,通過乙個名稱來標識乙個路由顯得更方便一些,特別是在鏈結乙個路由,或者是執行一些跳轉的時候。你可以在建立 router 例項的時候,在routes
配置中給某個路由設定名稱。
const router =
newvuerouter(]
})
:to=
"}">
userrouter-link
>
這跟**呼叫router.push()
是一回事:
router.
push(}
)
這兩種方式都會把路由導航到/user/123
路徑。
vue router提供來導航。
該元件通過傳入 『 to 』 屬性指定目標位址,該元件缺省會被渲染成乙個標籤。
其中:實際生活中的應用介面,通常由多層巢狀的元件組合而成。
>
>
router-view
>
div>
這裡的
是最頂層的出口,渲染最高端路由匹配到的元件。
同樣地,乙個被渲染元件同樣可以包含自己的巢狀。例如,在
user
元件的模板新增乙個:
const user =
}<
/h2>
<
/router-view>
<
/div>
}
要在巢狀的出口中渲染元件,需要在vuerouter
的引數中使用children
配置:
const router =
newvuerouter(,
]}]}
)
要注意,以 / 開頭的巢狀路徑會被當作根路徑。 這讓你充分的使用巢狀元件而無須設定巢狀的路徑。
在元件中使用$route
會使之與其對應路由形成高度耦合,從而使元件只能在某些特定的 url 上使用,限制了其靈活性。
使用props
將元件和路由解耦:
取代與 $route 的耦合
const user =}'
}const router =
newvuerouter(]
})
通過 props 解耦
const user =}'
}const router =
newvuerouter(,
// 對於包含命名檢視的路由,你必須分別為每個命名檢視新增 `props` 選項:
, props:}]
})
除了使用
建立 a 標籤來定義導航鏈結,我們還可以借助 router 的例項方法,通過編寫**來實現。 Vuerouter學習筆記
vue路由的作用 將元件 components 對映到路由 routes 然後告訴 vue router 在 渲染它們 前端路由是 對映關係 是路徑和元件的對映關係 vuerouter 路由器物件 然後 該物件有routes屬性 其為路由們配置,為陣列,陣列中每個值為乙個路由,路由就是相應的對映 步...
vue router之學習筆記
用 vue.js vue router 建立單頁應用,是非常簡單的。使用 vue.js 我們已經可以通過組合元件來組成應用程式,當你要把 vue router 新增進來,我們需要做的是,將元件 components 對映到路由 routes 然後告訴 vue router 在 渲染它們。在vue開發...
vueRouter 路由基礎
一 重要概念 1 router是路由器 2 routes是一組路由 3 route某個路由 route.query route.params route.hash 後面的,包含 const router new vuerouter new vue 三 js方式跳轉傳參 使用name跳轉 this.r...