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
复制代码 ( L7 E+ [3 s1 z* i2 g: S
9 ?' s% T5 g# D0 y/ ? s) @+ |NPM推荐使用淘宝镜像:
简单实例Vue.js + vue-router 可以很简单的实现单页应用。
以下实例中我们将 vue-router 加进来,然后配置组件和路由映射,再告诉 vue-router 在哪里渲染它们。代码如下所示:
HTML 代码
3 _4 r' F, y$ R7 U! H$ b9 V$ n- <script src="https://unpkg.com/vue/dist/vue.js"></script>3 A' T( r+ X& n3 q8 O o
- <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>: w9 J( m* ~" L. H$ ?* P, e) i
-
/ H, o3 |" B# c+ M' d$ x7 \+ r - <div id="app">+ i' h% ~! W" U/ L1 u: k+ G5 S+ ]
- <h1>Hello App!</h1>+ U3 L# l% _& g. |; I
- <p>
; g. d. t' z6 d - <!-- 使用 router-link 组件来导航. -->! Y% W5 J3 O8 e" [1 T1 |) W; x
- <!-- 通过传入 `to` 属性指定链接. -->% E) a$ e* u$ \( K! S2 D
- <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->- d- N! i3 ~# L
- <router-link to="/foo">Go to Foo</router-link>3 H+ s* R' q6 H4 u: o# n/ _
- <router-link to="/bar">Go to Bar</router-link>
% U* b! ]- E2 }! v - </p>* V: `. r' Q2 p* G: ~5 n1 @6 O
- <!-- 路由出口 -->4 r- Z$ X- h/ d
- <!-- 路由匹配到的组件将渲染在这里 -->5 h) I( ?0 U( I. N. l
- <router-view></router-view>* Z7 U: s* J- p: U4 O4 G$ c
- </div>
复制代码 JavaScript 代码- // 0. 如果使用模块化机制编程,導入Vue和VueRouter,要调用 Vue.use(VueRouter)% L! `0 a2 x' \$ S9 \8 o
- , j, j4 R2 y% ^+ M% `# R2 S
- // 1. 定义(路由)组件。
+ {- s( I/ _5 A: F% L - // 可以从其他文件 import 进来# N# Q- I0 g2 k. f8 E# ~
- const Foo = { template: '<div>foo</div>' }; U4 c' ~5 B8 g
- const Bar = { template: '<div>bar</div>' }
; `+ r- r) u" c3 J+ X# L -
. R& }7 T/ {5 F& k& e - // 2. 定义路由
" p, y8 Q& Q6 ]$ k7 G4 w - // 每个路由应该映射一个组件。 其中"component" 可以是
- f0 _# a3 U8 N6 d9 [9 ^ - // 通过 Vue.extend() 创建的组件构造器,; A, W" a5 j' p6 s7 `% i9 V$ u
- // 或者,只是一个组件配置对象。
) |5 N; Q+ U' Y3 I+ n' B) u - // 我们晚点再讨论嵌套路由。1 {) T' I1 g. D) {3 F7 k1 ~
- const routes = [3 z, h% K# _6 Z9 M# ~
- { path: '/foo', component: Foo },; O, v$ K" u; }% O7 y7 d N) a5 Q
- { path: '/bar', component: Bar }& P, J" A8 K- `1 {2 L6 \
- ]! e8 M w9 M) i4 _2 M9 _
-
0 D! r" H$ I# {7 V; m9 Z! P0 i: {- } - // 3. 创建 router 实例,然后传 `routes` 配置
8 a, `; ?: C* m* E [/ u+ i - // 你还可以传别的配置参数, 不过先这么简单着吧。
& E% X7 Y6 F$ ?2 o$ T$ U - const router = new VueRouter({7 o# b) |* A7 L! @+ Q c. J9 z
- routes // (缩写)相当于 routes: routes9 P' m+ G. Y9 i4 M
- })
) a) U& k0 t6 A P( \. R# y -
* m9 F2 D2 S9 w$ r, V { R( r - // 4. 创建和挂载根实例。 Y# \& n3 s# g. z% p5 N! D
- // 记得要通过 router 配置参数注入路由,
( ~& P, E. d" m. i# T& ] - // 从而让整个应用都有路由功能
7 E& {# L6 D1 ]- M) j9 g* {+ F0 z6 V - const app = new Vue({; Y6 F4 ]/ M( Z% z) f: e8 X/ Y# H
- router
6 j! N4 ~$ Y! b& h0 ^ - }).$mount('#app'); u+ f8 R6 h% Q) D: \
- ' a, [% n q: d2 z5 j" t. S' T/ v1 \
- // 现在,应用已经启动了!
复制代码 NPM 路由实例接下来我们演示了一个使用 npm 简单的路由实例,开始前,请先下载该实例源代码:
5 O+ M! R9 c: m9 B# I# r下载完后,解压该目录,重命名目录为 vue-demo,vu 并进入该目录,执行以下命令:
- # 安装依赖,使用淘宝资源命令 cnpm) K! k; S1 q+ n% A/ f/ ]
- cnpm install, Y |& K4 q5 {* i' z7 ]5 Q
- ?* K$ f: ~8 ]' y* I0 @$ R6 z
- # 启动应用,地址为 localhost:8080! m. j0 E2 x7 q3 p5 r" |$ z
- cnpm run dev
复制代码 如果你需要发布到正式环境可以执行以下命令:& }8 F6 ]" H# }1 k( f1 q( ^
/ @; l+ l' z7 Y# ?5 T4 P
0 O: h6 ?4 ]3 _/ ~% G8 J$ }& y" x4 ~
3 H# W4 M x9 Y: e3 \
5 Y' r3 `, t9 O' M% l3 u3 G
( |2 V$ z* C% h6 V, @5 {2 X/ r2 U& m# j o4 M& V! b+ q
! {( j$ l5 p$ l; a/ o2 K$ c4 ?
: a9 f3 M. z# ]: ?/ F& ^$ w. \
( ?# S3 I6 u; A- L1 O+ M$ T+ o: g9 i# ]8 [3 S
-
-
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://www.cncml.com/) |
Powered by Discuz! X3.2 |