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
复制代码
5 t* @3 M- w2 z/ {, s3 p1 l$ A* M1 o1 K
NPM推荐使用淘宝镜像:
简单实例Vue.js + vue-router 可以很简单的实现单页应用。
以下实例中我们将 vue-router 加进来,然后配置组件和路由映射,再告诉 vue-router 在哪里渲染它们。代码如下所示:
HTML 代码
* h9 J% m! u% K. s$ F- <script src="https://unpkg.com/vue/dist/vue.js"></script>( c$ c X( V0 c L1 E4 m3 O
- <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>8 K; B$ j5 J W- {( N+ [8 b! f
-
' O' t: u9 J& D6 E9 @8 @4 \ - <div id="app">
" p' V% H, j/ j$ Y - <h1>Hello App!</h1>; M; i8 |8 O, c" c" f0 r
- <p>
* ?' n$ C) L5 D3 _) d - <!-- 使用 router-link 组件来导航. -->
4 m9 s) \9 `: d - <!-- 通过传入 `to` 属性指定链接. -->, W6 M# w% \" Q# A& b' Q7 `
- <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
# o$ }9 q9 R8 F - <router-link to="/foo">Go to Foo</router-link>$ y8 f; g' w! A5 R L" k9 e
- <router-link to="/bar">Go to Bar</router-link>
/ K- u0 S) e' `/ | - </p>
+ C2 G6 E' P0 |" w - <!-- 路由出口 -->
5 W/ @+ _$ a$ P% ]1 L - <!-- 路由匹配到的组件将渲染在这里 -->
# [/ a( `) e2 C* Z7 x - <router-view></router-view>; ~6 N1 e# l! i/ L
- </div>
复制代码 JavaScript 代码- // 0. 如果使用模块化机制编程,導入Vue和VueRouter,要调用 Vue.use(VueRouter)
N2 w1 R% G9 ?8 N -
( n1 K& u8 y7 \( i/ d - // 1. 定义(路由)组件。
+ Q6 r7 E& b# m+ o - // 可以从其他文件 import 进来
; ^. ?8 p$ g' K/ p" ~: U - const Foo = { template: '<div>foo</div>' }
0 M# T3 r+ ]$ `' F. r/ N - const Bar = { template: '<div>bar</div>' }- V0 \/ G, A/ a4 T" L- c
-
: m8 S$ N6 ~4 v' \" I( r - // 2. 定义路由9 W n+ k1 C+ v% k' U# R
- // 每个路由应该映射一个组件。 其中"component" 可以是7 L: B! H. r; S N% n0 U" i" e: _
- // 通过 Vue.extend() 创建的组件构造器,- ?& u! k2 i: M1 K R
- // 或者,只是一个组件配置对象。
5 k1 _" P+ p8 B$ S/ J: k" X - // 我们晚点再讨论嵌套路由。0 q% X4 a9 ~/ d
- const routes = [
. X& b( d0 M; F1 C5 A. b - { path: '/foo', component: Foo }," |) i+ v' F/ y8 I
- { path: '/bar', component: Bar }
$ X5 `0 J' T/ m$ L' B' y t - ]
" W; m7 g: v6 z: F8 o - 2 l \$ q' L$ r. C" I0 @+ Q& ~
- // 3. 创建 router 实例,然后传 `routes` 配置
% C" E/ S6 z* @8 Q& s" a7 l - // 你还可以传别的配置参数, 不过先这么简单着吧。" w( ]7 q5 H# W6 u* V* J
- const router = new VueRouter({) d; M! _; g0 A9 v: v. e$ B) o
- routes // (缩写)相当于 routes: routes
# |0 e7 H3 _/ Y4 R4 w+ [ - })
9 b! k/ m# l9 C0 q1 x8 ]8 f -
U, S; O1 d! A9 e8 O. D, V9 |1 t% z - // 4. 创建和挂载根实例。& q [" s+ e; B1 F) @6 A" V+ g0 F% {
- // 记得要通过 router 配置参数注入路由,, ~9 F# i9 a1 r" ]6 c2 ? o
- // 从而让整个应用都有路由功能: M z a9 |& w; h* p
- const app = new Vue({
5 v% X3 Y% X! ] - router
1 H: J. y. B: h2 k7 R- _+ d - }).$mount('#app')
! s0 h/ N. p& N$ H, o -
4 l! @* o8 g% K - // 现在,应用已经启动了!
复制代码 NPM 路由实例接下来我们演示了一个使用 npm 简单的路由实例,开始前,请先下载该实例源代码:
( x, n0 v% }+ b# N* A( ]
下载完后,解压该目录,重命名目录为 vue-demo,vu 并进入该目录,执行以下命令:
- # 安装依赖,使用淘宝资源命令 cnpm
1 Z) F" {0 E4 A6 n9 C - cnpm install
: t# S% m, `1 @9 ^) V
+ |: S, f! V. N. T& S- S% W- # 启动应用,地址为 localhost:8080
( K8 P2 F3 ]2 v! e" d - cnpm run dev
复制代码 如果你需要发布到正式环境可以执行以下命令:
$ r3 N) N, D S z; b( C
# x! b! T! d$ {) R$ g* K; j# s* [# G) x' p" {2 t6 \' n% ?
& [* ^( Q) k( f; }" [5 j
& U6 x1 p* s9 _* O& t6 X3 {; ^; D& O+ b
d* l: u8 u) g2 ]5 O
$ z+ F1 J) r w7 N) l$ J
8 A- T/ w: Q7 l$ M' e
, t- M. L( | n+ B$ g5 f0 ]
5 o" ~* A" R5 J$ U' N' c4 M1 R% _. q2 U7 v
-
-
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 |