2018-11-07

自己搞了这么久不是大神,纯前端小白一个,个人能力不足,今天注册了一个账号用来陪伴自己的成长,大家都有使用过Vue吧,今天简单的从VUE的基础入门开始讲一下从零是怎么开发的。nodejs和npm的安装以及环境搭建。

在做前端开发大多数现在都需要依赖nodejs和npm包,nodejs是基于V8引擎的javascript开发的运行环境,npm的安装就不用说了,直接傻瓜式的安装就可以了,这里面需要说的是cnpm的安装。cnpm也是基于npm的安装的,

npm i -g cnpm --register=https//registry.npm.taobao.org

这样就能够安装淘宝镜像了,淘宝镜像的使用跟npm是一样的,cnpm安装插件会更快。

VUE的搭建以及vue-cli的使用

安装依赖 npm i vue-cli -g



这个时候进入相应的文件初始化VUE项目就可以了,当然window系统可以通过cd 进入相应的文件夹,或者直接右键get bash就可以在确定使用webpack+vue进行开发时候就可以进行项目的初始化了这个时候我们着重的讲一下




项目

初始化项目 imook是我要进行的项目的名字


其他的就不需要刻意的作解释了,在这只简单的说一句vue-router是页面跳转需要用到的插件,在这安装一下就可以了。

这个里面简单的说一下配置文件



这里面是配置文件node_modules是文件的依赖文件,安装文件依赖用的


bulid是打包的配置所依赖的文件夹




config是相应的打包的配置相对应的bulid的配置


src是扩展的源码,main.js是扩展文件


static主要放我们的静态资源

需要注意的是任何项目在git clone之后都需呀安装依赖的也就是说都需要cnpm install

创建一个新的项目vue init webpack Demo6

这样项目跑起来了,相应的文件也介绍完了,后续单独写一片文章介绍webpack文件

第一章,第一讲Vue-router

vue-router是客户端实现页面跳转的插件,单页面应用的插件,也就是说只改变页面的内容。

前端路由的优点 :用户的体验好,不需要每次从服务器端全部获取数据,不需要每次都都重新加载JS和CSS,只需要加载一页的就可以了。

缺点:不利于SEO

          没有办法进行缓存,所以每次浏览器的前进或者后退都需要重新向服务器端发送请求

        无法记住滚动的位置,打个比方如果你进入博客的第三页这个时候就不能进去第一页的  滚动的之前的位置。

vue-router是实现SPA的关键

其中有两个关键标签

<router-link></router-link>或者this.$Router.push({{path:''}})

router-link 给他一个to相当于a标签

<router-view></router-view>

进行组件的渲染

讲解:

1动态路由的匹配

2嵌套路由

3编程式路由

4命名路由命名视图

动态路由的模式

模式                                                              匹配路径                                              $route.params

/user/:username                    /user/evan                      {username:'evan'}

/user/:username/post/:post_id      /user/evan/post/123            {username:'evan',post_id:123}

下面简单的用一些实例来说一下动态路由的使用在router/indext.js中使用

export default new Router({

mode:'history',

//请求地址,这里面也可以设置mode:‘hash’这样就显示#号了,虽然也可以显示数据但是现在主流的还是history

  routes: [

    {

      path: '/Goods/:goodsId/user/:username',

      name: 'GoodList',

      component:GoodList

    }

  ]

})

在组建中我们可以输出一下



<template>

<div>这是商品列表

<span>{{ $route.params.goodsId }}</span>

<span>{{ $route.params.username }}</span>

</div>

//我们可以通过$route的实例来实现因为params封装了$route的实例

这个时候$route.params.goodsId

      $route.params.username

</template>

<script>

export default{

data(){

return{

msg:'hello Vue'

}

}

}

</script>


注意

export default{}必须要有,否则会报错。



第二章 嵌套路由


嵌套路由的使用,两边导航栏显示内容有一部分这样就会显示,关键词

children:[ ]注意必须是数组

知识点@是根路径映射到src


在html页面中需要注意的是goods/title的路径,而不是/tile这一点被误会,那么

第三章 编程式路由

也就是通过编程样式实现路由的跳转

1  通过$router.push('name')可以实现路由的跳转

2 通过object对象,给对象赋值path属性就可以进行跳转$router.push({ path:'name' })

3跳转的同时进行传参$router.push({ path:'name?a=123' })或者通过query

$router.push({ path:'name',query:{'a=112'} })

4$router.go(-1)

简单的举一个例子以上文我们提到的<button @click='jump'></button<>

<script>

export default{

//定义一个methods方法

methods:{

jump(){

this.$router.push('/cart')

}}}

</script>



需要注意一点进行参数接受的时候分为两类

$route.params.goodsID  这个是设置动态路由的时候进行传递的

$route.query.goodsID 这个是设置路由跳转的时候,单页面跳转直接使用

this.$router.push({ path:'/cart?goodsID=123' })这种形式的路由传参需要$route.query.goodsID

这个里面跳转页面的方法

this.$router.push('/cart')

this.$router.push('/cart?useID=123')

this.$router.push(-2)

一般路由的跳转使用这种方法


命名路由和命名视图

给路由定义不同的名字,根据名字进行匹配

给不同的router-view定义名字,通过名字进行相应的组建的渲染

主要的用法就是在app.vue中进行书写

然后给取不同的name的值进行页面的渲染

v-bind:to='{ name:"cart",params:{cartId:123} }'

routes: [

    {

      path: '/',

      name: 'GoodList',

      components:{

      default:GoodList,

      title:Title,

      img:Image

      }}]

    })


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,132评论 6 523
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,457评论 3 404
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,411评论 0 368
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,147评论 1 301
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,145评论 6 400
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,611评论 1 315
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,962评论 3 429
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,948评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,479评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,514评论 3 347
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,640评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,228评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,973评论 3 340
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,402评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,551评论 1 277
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,210评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,714评论 2 366

推荐阅读更多精彩内容

  • 果你在电脑上没安装可视化数据库操作,需要在cmd命令行输入命令操作数据库,那么可能会用以下命令 (1)连接数据库 ...
    一位先生_阅读 346评论 0 2
  • 第一步: 我们需要安装npm,这个只要你有NodeJS运行环境的肯定会有的;这边这个块也就不作叙述 第二步: 我们...
    叫我峰兄阅读 167评论 0 0
  • Version:1.0StartHTML:000000231EndHTML:000105074StartFragm...
    yasuo1阅读 241评论 0 0
  • vue-cli搭建项目 确保安装了node与npm 再目标文件夹下打开终端 执行cnpm i vue-cli -g...
    Akiko_秋子阅读 3,249评论 1 22
  • Vue-router学习指南 日记:本文按照vue-router官网的知识结合例子进行分析和讲解,搭建工具(vue...
    sunny519111阅读 1,477评论 0 6