vue-router vue路由

vue

vue中,有一个类库叫做router" title="vue-router">vue-router,是用来做单页面路由的。做路由一般分为四个步骤:

  1. 准备一个根组件  vue.extend();
  2. 需要做路由的内容准备   template;
  3. 准备路由 new VueRouter();
  4. 关联路由   map
  5. 启动路由 start(App,'#box');//第一个参数是准备的根组件,第二个参数是要捆绑的位置就是自己定义的id中

  github上vue-router下载地址:  https://github.com/vuejs/vue-router

关于路由跳转的简单代码如下:

  vue-router 路由(根据url不同,出现不同效果,用0.1.13版本)
  v-link //跳转链接
  router-view //展示内容
    1.)在外层定义一个id为box的div,用来以后绑定路由。在html中用v-link来绑定路由跳转的路径,例如:v-link="{path:'/home'}"
    2.)准备根组件,为以后的绑定做准备。var App=Vue.extend();
    3.)为每个路径定义要显示的内容,例:
      var Home=Vue.extend({
        template:'<h3>我是第一个a的内容页</h3>'
      });
    4.)准备路由  var router = new VueRouter();
    5.)关联路由
      router.map({
        'home':{
          component:Home
      }
    6.)启动路由 router.start(App,'#box');

 1 <!DOCTYPE html>

2 <html>

3 <head>

4 <meta charset="utf-8" />

5 <script type="text/javascript" src="js/vue.js" ></script>

6 <script type="text/javascript" src="js/vue-router.js" ></script>

7 <script type="text/javascript" src="js/vue-resource.js" ></script>

8 <title></title>

9 </head>

10 <body>

11 <div id="box">

12 <ul>

13 <li>

14 <a v-link="{path:'/home'}">我是第一个a</a>

15 </li>

16 <li >

17 <a v-link="{path:'news'}">我是第二个a</a>

18 </li>

19 </ul>

20 <div>

21 <router-view></router-view>

22 </div>

23 </div>

24 </body>

25 <script>

26 //1.准备一个根组件

27 var App=Vue.extend();

28

29 //2.Home News 组件准备

30 var Home=Vue.extend({

31 template:'<h3>我是第一个a的内容页</h3>'

32 });

33

34 var News=Vue.extend({

35 template:'<h3>我是第二个a的内容页</h3>'

36 })

37

38 //3.准备路由

39 var router = new VueRouter();

40

41 //4.关联

42

43 router.map({

44 'home':{

45 component:Home

46 },

47 'news':{

48 component:News

49 }

50 })

51

52 //5.启动路由

53

54 router.start(App,'#box');

55 </script>

56 </html>

 如果要默认显示为home页,需要在启动路由前加

  router.redirect({
    '/':'/home'
  });

路由嵌套路由

 1 <!DOCTYPE html>

2 <html>

3 <head>

4 <meta charset="utf-8" />

5 <script type="text/javascript" src="js/vue.js" ></script>

6 <script type="text/javascript" src="js/vue-router.js" ></script>

7 <script type="text/javascript" src="js/vue-resource.js" ></script>

8 <title>路由嵌套</title>

9 <style>

10 .v-link-active{

11 font-size: 20px;

12 color: red;

13 }

14 </style>

15 </head>

16 <body>

17 <div id="box">

18 <ul style="list-style: none;">

19 <li style="float: left;">

20 <a v-link="{path:'/home'}">我是第一个a</a>

21 </li>

22 <li style="float: left; margin: 0 30px;">

23 <a v-link="{path:'news'}">我是第二个a</a>

24 </li>

25 </ul>

26 <br />

27 <div>

28 <router-view></router-view>

29 </div>

30 </div>

31 <template id="home">

32 <h3>home</h3>

33 <div>

34 <a v-link="{path:'/home/login'}">登陆</a>

35 <a v-link="{path:'/home/reg'}">注册</a>

36 </div>

37 <router-view></router-view>

38 </template>

39 <template id="news">

40 <h3>news</h3>

41 </template>

42 </body>

43 <script>

44 //1.准备一个根组件

45 var App=Vue.extend();

46 //2.Home News 组件准备

47 var Home=Vue.extend({

48 template:'#home',

49 });

50 var News=Vue.extend({

51 template:'#news'

52 })

53 //3.准备路由

54 var router = new VueRouter();

55 //4.关联

56 router.map({

57 'home':{

58 component:Home,

59 subRoutes:{

60 'login':{

61 component:{

62 template:'<p>你点击了登陆</p>'

63 }

64 },

65 'reg':{

66 component:{

67 template:'<p>你点击了注册</p>'

68 }

69 }

70 }

71 },

72 'news':{

73 component:News

74 }

75 })

76 //6.跳转路由默认显示为home

77 router.redirect({

78 '/':'/home'

79 });

80 //5.启动路由

81 router.start(App,'#box');

82 </script>

83 </html>

以上是 vue-router vue路由 的全部内容, 来源链接: utcz.com/z/379452.html

回到顶部