cncml手绘网
标题: Vue.js 路由 [打印本页]
作者: admin 时间: 2018-7-4 11:44
标题: Vue.js 路由
本章节我们将为大家介绍 Vue.js 路由。
Vue.js 路由允许我们通过不同的 URL 访问不同的内容。
通过 Vue.js 可以实现多视图的单页Web应用(single page web application,SPA)。
安装1、直接下载 / CDN- https://unpkg.com/vue-router/dist/vue-router.js
复制代码 + d& d% m' h1 ]4 `' S7 b
: j C% W) f4 U( INPM推荐使用淘宝镜像:
简单实例Vue.js + vue-router 可以很简单的实现单页应用。
以下实例中我们将 vue-router 加进来,然后配置组件和路由映射,再告诉 vue-router 在哪里渲染它们。代码如下所示:
HTML 代码
# ]0 {4 j, q' E- <script src="https://unpkg.com/vue/dist/vue.js"></script>* a- v: j/ [( }8 L/ I0 s
- <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
8 u3 Q u6 O! R -
& b6 r4 P& C* q# C- |6 v - <div id="app">) w1 L/ C6 B2 e3 u' j6 z5 h& X# L
- <h1>Hello App!</h1>
1 N" A, V% u- _, Q - <p>) f: f5 Z8 n- J4 C w6 ? t
- <!-- 使用 router-link 组件来导航. -->
& E/ q6 y' c! Y$ v - <!-- 通过传入 `to` 属性指定链接. -->- r- W8 o! a& l4 Z5 r- j1 O
- <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->" ?3 ?& A& w& A7 `
- <router-link to="/foo">Go to Foo</router-link>$ C4 _8 e4 d* t) Z
- <router-link to="/bar">Go to Bar</router-link>
) l, ~1 K( [; N& J - </p>
9 c/ y0 O" V% i6 m/ v8 s - <!-- 路由出口 -->
, Q4 s; S! y, f" z6 | - <!-- 路由匹配到的组件将渲染在这里 -->
; z$ ^+ `. O; ~* ~' T' } J8 P - <router-view></router-view>
" U* K0 l) ]% [% S) ~7 `. K: M7 h - </div>
复制代码 JavaScript 代码- // 0. 如果使用模块化机制编程,導入Vue和VueRouter,要调用 Vue.use(VueRouter)
5 x' o: o( \& Y, N8 ~4 z. Y -
) S! j$ ~4 E+ {+ y1 ^9 U2 n& O$ Q - // 1. 定义(路由)组件。! p: ]5 R$ l9 b; W. w
- // 可以从其他文件 import 进来
! B4 F2 U' p; \- k3 } - const Foo = { template: '<div>foo</div>' }
' |; D2 V9 Y% c$ s2 a; x! k - const Bar = { template: '<div>bar</div>' } h' y5 M, Q. E( G% u5 E
-
2 Z$ ]+ L$ \+ ^" ?- t+ ] - // 2. 定义路由
* Q& V& c B. n2 X; J4 _) R1 C - // 每个路由应该映射一个组件。 其中"component" 可以是3 L( M9 F' P; u- Z
- // 通过 Vue.extend() 创建的组件构造器,; e: v2 ?2 h( L' X# Y( l$ ]
- // 或者,只是一个组件配置对象。, x% g5 N9 ?( n5 f
- // 我们晚点再讨论嵌套路由。
7 H' s- x* @9 _; x0 x a! g - const routes = [
1 k, y& X* G3 V a& P$ x* j+ ^ - { path: '/foo', component: Foo },
1 @ Z0 ~, N1 |7 h" J - { path: '/bar', component: Bar }- g8 ?& H X4 G0 x, E7 q T
- ]* T4 P# `" o- u; E0 x I
-
5 H/ ?, y! @% Z; p! a - // 3. 创建 router 实例,然后传 `routes` 配置, K% H# E1 e d: p
- // 你还可以传别的配置参数, 不过先这么简单着吧。
0 m7 d6 C/ h' C9 C; {1 G3 s! L0 k - const router = new VueRouter({
3 X' T+ i6 k# _- B0 X - routes // (缩写)相当于 routes: routes3 a; z8 S: E- _; G& Z
- })
& J z; C4 ?! P - 1 ~ Y1 m. Z- h9 B9 v/ V% W( T
- // 4. 创建和挂载根实例。0 Z9 q" h0 }' F ?. X
- // 记得要通过 router 配置参数注入路由,
" {2 d! {3 E, y6 M5 S8 q4 S - // 从而让整个应用都有路由功能
0 O2 F& V5 J0 Q3 I5 | - const app = new Vue({- Q2 j- T5 c* _. O/ V! a
- router
6 }0 v& |; k5 e( r" {" V& ]2 z - }).$mount('#app')
) q. {; T: V B3 b+ @) R$ {) o - 8 r4 J" T3 L0 U/ g* i
- // 现在,应用已经启动了!
复制代码 NPM 路由实例接下来我们演示了一个使用 npm 简单的路由实例,开始前,请先下载该实例源代码:
% `: `8 O; w- S9 O2 X下载完后,解压该目录,重命名目录为 vue-demo,vu 并进入该目录,执行以下命令:
- # 安装依赖,使用淘宝资源命令 cnpm
4 C0 K0 b6 y( Y' S6 @! u% D - cnpm install
( O5 g7 h1 K5 ^, f - 4 c" C; f! B' c( K* G6 c7 c0 Z
- # 启动应用,地址为 localhost:8080! N; J* `% m, L1 J' s+ _
- cnpm run dev
复制代码 如果你需要发布到正式环境可以执行以下命令:0 K5 e2 T9 n1 A
8 Q* v; ]* I* h: M7 |3 K( o4 s0 m, h
$ u3 m6 L( G0 H. l. J
/ @+ u$ ?- y. i4 T/ [. C' e9 Y o' g7 y9 u+ u; M1 {: C* c& r/ w
# v) t: c/ n# e8 J3 ]
7 Q/ ]9 J0 H4 C0 C* O; E( c" s2 |. Y) Q
9 G2 W" @3 ~" y' {1 K8 N. p$ D) {4 s/ B
, o8 B# L z; j1 b v3 c
- q4 e/ P# n" ^ \
-
-
vue-router.js
63.76 KB, 下载次数: 2, 下载积分: 论坛积分 -2 分, 贡献值 -1 个, 好评度 -1 次
-
-
vue-2.0-simple-routing-example-master.zip
6.58 KB, 下载次数: 1, 下载积分: 论坛积分 -2 分, 贡献值 -1 个, 好评度 -1 次
欢迎光临 cncml手绘网 (http://bbs.cncml.com/) |
Powered by Discuz! X3.2 |