Skip to content

Commit

Permalink
完成 vue-router 部分
Browse files Browse the repository at this point in the history
  • Loading branch information
xiaoqiang-zhao committed Dec 12, 2016
1 parent bb76f83 commit 835bdbb
Show file tree
Hide file tree
Showing 7 changed files with 158 additions and 27 deletions.
80 changes: 79 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,86 @@ js 部分:

npm install [email protected] --save

然后就可以创建几个页面来使用路由了,下面是几处关键代码:

html:

<div id="app">
<router-view></router-view>
</div>

index.js

var Vue = require('vue');
var VueRouter = require('vue-router');
var routerConfig = require('./router-config');

var router = new VueRouter({
transitionOnLoad: false,
routes: routerConfig
});

Vue.use(VueRouter);

new Vue({
router: router
}).$mount('#app');

其中用到的 `router-config` 配置文件 `router-config.js` 的代码:

var PageA = require('./page/page-a');
var PageB = require('./page/page-b');

module.exports = [
{
path: '/',
component: PageA
},
{
name: 'pageA',
path: '/page/a',
component: PageA
},
{
name: 'pageB',
path: '/page/b',
component: PageB
}
];

其中页面 `./page/page-a` 的代码 `./page/page-a/index.vue`

<template>
<div>
当前页面:Page A
<div>
<router-link to="/page/b"> 跳转到 Page B </router-link>
</div>
</div>
</template>
<script>
module.exports = {
data: function () {
return {};
}
};
</script>
<style>
div {
padding: 20px;
text-align: center;
color: red;
}
</style>

其中 `Vue.use(VueRouter)` 容易被忽略,官网有这么一句話:

0. If using a module system (e.g. via vue-cli), import Vue and VueRouter and then call Vue.use(VueRouter).

如果使用模块化机制编程,需要调用 `Vue.use(VueRouter)`

## 参考

[Standalone-vs-Runtime-only-Build](https://vuejs.org/v2/guide/installation.html#Standalone-vs-Runtime-only-Build)


[vue router getting started](http://router.vuejs.org/en/essentials/getting-started.html)
3 changes: 1 addition & 2 deletions dist/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
</head>
<body>
<div id="app">
<comp-a></comp-a>
<comp-b></comp-b>
<router-view></router-view>
</div>
<script src="./index.js"></script>
</body>
Expand Down
13 changes: 0 additions & 13 deletions src/append.js

This file was deleted.

22 changes: 11 additions & 11 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
* Created by zhaoxiaoqiang on 2016/12/8.
*/
var Vue = require('vue');
var CompA = require('./components/a');
var CompB = require('./components/b');
var VueRouter = require('vue-router');
var routerConfig = require('./router-config');

var router = new VueRouter({
transitionOnLoad: false,
routes: routerConfig
});

Vue.use(VueRouter);

new Vue({
el: '#app',
components: {
compA: CompA,
compB: CompB,
},
data: {
name: 'test'
}
});
router: router
}).$mount('#app');
22 changes: 22 additions & 0 deletions src/page/page-a/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<template>
<div>
当前页面:Page A
<div>
<router-link to="/page/b"> 跳转到 Page B </router-link>
</div>
</div>
</template>
<script>
module.exports = {
data: function () {
return {};
}
};
</script>
<style>
div {
padding: 20px;
text-align: center;
color: red;
}
</style>
20 changes: 20 additions & 0 deletions src/page/page-b/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@

<template>
<div>
Page B
</div>
</template>
<script>
module.exports = {
data: function () {
return {};
}
};
</script>
<style>
div {
padding: 20px;
text-align: center;
color: red;
}
</style>
25 changes: 25 additions & 0 deletions src/router-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/**
* 路由配置文件
*
* Created by zhaoxiaoqiang on 2016/12/11.
*/

var PageA = require('./page/page-a');
var PageB = require('./page/page-b');

module.exports = [
{
path: '/',
component: PageA
},
{
name: 'pageA',
path: '/page/a',
component: PageA
},
{
name: 'pageB',
path: '/page/b',
component: PageB
}
];

0 comments on commit 835bdbb

Please sign in to comment.