全栈开发二(vue路由的使用)

作者: itvwork | 来源:发表于2017-09-26 09:52 被阅读280次

接着上一篇文章:我们已经把环境都搞建好了,已经写了几个简单的页面了,现在我们具体地讲一下


1.png

一、首先我们讲一下src中的index.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>3d微改车</title>
    <link rel="stylesheet" href="/style/styles.css" charset="utf-8"> 这里对应你生成的css文件具体看gulpfile中的编译的路径
  
</head>

<body>
    <section id="app">
        <router-view></router-view> 路由入口,整个应用的开始点
    </section>
    <script src="/js/index.js"></script>这里是生成的是js具体按你生成的路径,生成的文件名来引入

</body>
</html>

二、路由

router.js路由文件,这里我介绍一下路由的写法,以及应该用

export default [
    {
        name: 'home',       //路由的名称,这个值是唯一 ,起名的好处就是在跳转的时候放便
        meta: {  //给路传递一些参数
            title: '模型列表'
        },
        path: '', //路径这里填写路由的路径,即域名后面的url  不能带?号的那一部份
        component: function (resolve) {  //按需加载,这样写的好处就是需要的时候才会加载这个页面的代码,至于其它写法请上官网查看,webpack会分包编译从(dist/js的0.js,1.js……)看出来
            require(['./view/home/index.vue'], resolve)
        }

    },
    {
        name: 'case',
        path: '/case',

        component: function (resolve) {
            require(['./view/case/index.vue'], resolve)
        }
    },
    {
        name: 'news',
        path: '/news',
        component: function (resolve) {
            require(['./view/news/index.vue'], resolve)
        }
    },
    {
        name: 'newdetail',
        path: '/news/:id',// 带参数路由的写法  加: 后面是参数名, 可带多个
        component: function(resolve) {
            require(['./view/news/index.vue'], resolve)
        }
    }

];

三、入口文件src/index.js

//引入 vue与vue路由
import Vue from 'vue';
import VueRouter from 'vue-router';


//引入整个网页的首页以及写好的路由文件
import routes from './router';
import App from './app.vue';



Vue.use(VueRouter); //运用路由插件
const router = new VueRouter({  //创路由
    // mode: 'history',     //这里去掉注释会去掉网页上的#号,是html5模式,具体到后再讲
    routes  
})
  


new Vue({
    el: '#app',//整个文件入口dom元素的id
    router: router,
    render: h => h(App)  //首页文件
})

四、首页文件 app.vue

<template>
    <section>
    <router-link :to="{ name: 'home'}">首页</router-link>
    <router-link :to="{ name: 'case'}">案例</router-link>
    <router-link :to="{ name: 'news'}">新闻</router-link>
    <router-view></router-view>  //子组件入口  
    </section>  
</template>


router-link的使用,为什么要选择router-link呢因为使用router可以把页面存入历史记录中,可以是达到缓存不重新渲染页面的目的。也就是上面路由中的 // mode: 'history',(以后再讲)

  <router-link to="home">Home</router-link> //这样写就直把home当路径  也就是编译为
   <a href="home" >Home</a>
//我推荐用
  <router-link to="{name:'news',params:{id:10},query:{page:10}}">new</router-link> //这样写 也就是编译为
  <a href="/news/10/?page=10">Home</a>


其它写法请查看https://router.vuejs.org/zh-cn/api/router-link.html

源文件都在:https://pan.baidu.com/s/1miMJuYW
项目启动:

gulp

大家有什么建议可以发邮箱到我的E-mail,
我的QQ:1830305999
也可以加入我们的Q群:190949802
我的主页:www.itvwork.com网站还没建好,正在建设中

上一篇:全栈开发一(webpack+gulp构建vue前端开发环境)
下一篇:全栈开发三(vue组件)

相关文章

网友评论

  • 一个假前端:<router-link to="home">Home</router-link> //这样写就直把home当路径 也就是编译为
    <a to="home" >Home</a>
    纠正 是编译为 <a href="home" >Home</a>

本文标题:全栈开发二(vue路由的使用)

本文链接:https://www.haomeiwen.com/subject/yeydextx.html